import { UserId } from "@/server/user/domain/models"; import { Area, AreaId, Floor, FloorId, Project, ProjectDetail, ProjectEarningsResults, ProjectFilter, ProjectId, ProjectMaterials, ProjectQueryResuls, ProjectSummary } from "./models"; export interface ProjectRepository { create(data: Project,userId:UserId): Promise; update(data: Project,userId:UserId): Promise; getAll(filter: ProjectFilter): Promise; getById(projectId: ProjectId): Promise; getProductSearch(filter: ProjectFilter): Promise>; getAllProjectMaterials(): Promise; getProjectSummary(filter: ProjectFilter): Promise; getProjectEarnings(filter: ProjectFilter): Promise; createProjectArea(data: Area, userId: UserId): Promise; updateProjectArea(data: Partial, userId: UserId): Promise>; deleteProjectArea(areaId: AreaId, userId: UserId): Promise; createProjectFloor(data: Floor, userId: UserId): Promise; isFloorInProjectExist(floorName:string,projectId: ProjectId):Promise; updateProjectFloor( data: Partial, userId: UserId ): Promise>; deleteProjectFloor( floorId: FloorId, userId: UserId ): Promise>; }