import { FilterTasks } from "@/server/task/domain/models"; import { SendInvitation, UpdateUserMetadata, User, UserById, UserId } from "./models"; export interface UserRepository { getAll(userId: UserId): Promise; getWithTaskById(userId: UserId, filter: FilterTasks): Promise; getBy(params: Partial): Promise createDb(data: User): Promise; sendInvitation(data: SendInvitation): Promise updateClerk(data: Partial): Promise; updateDb(data: User): Promise; deleteClerk(userId: UserId): Promise; deleteDb(userId: UserId): Promise; unbanUser(userId: UserId): Promise; banUser(userId: UserId): Promise; updateUserMetadataClerk(data: UpdateUserMetadata): Promise }