import type { ApiClassificationCode, ApiCloudFile, ApiGcpSignedUrl, ApiMasterformatProgress, ApiProject, ApiProjectCostAnalysisProgress, ApiProjectCostAnalysisProgressValidationResult, ApiProjectDeviationSummary, ApiProjectListing, ApiProjectProgressSummary, ApiProjectWorkPackage, ApiProjectWorkPackageCost, ApiRunningProcess, ProgressType, ProjectWorkPackageType, User } from "../models"; import type { AssociationIds, DateLike } from "type_aliases"; import ApiMasterFormatWithUniformat from "../models/api/api_masterformat_with_uniformat"; import ApiCssContactSummary from "../models/api/api_css_contact_summary"; import ApiSupportRequest from "../models/api/api_support_request"; export default class ProjectApi { static listProjectsForOrganization(organizationId: string, user: User, filterArchived?: boolean): Promise; static listAllProjectsForUser(user: User): Promise; static listProjectsForUser(user: User): Promise; /** * @deprecated Call getProject and listProjectsForOrganization instead */ static listProjects(projectId: string, user: User): Promise; static getProject(projectId: string, user: User): Promise; static getProjectFloorTradeDeviationMagnitudes({ projectId }: AssociationIds, currentScan: boolean, user: User): Promise<{ [floorFirebaseId: string]: { [tradeCode: string]: number; }; }>; static getProjectFloorBuiltElementCounts({ projectId }: AssociationIds, user: User): Promise<{ [floorFirebaseId: string]: number; }>; static getProjectFloorTradeBuiltElementCounts({ projectId }: AssociationIds, user: User): Promise<{ [floorFirebaseId: string]: { [tradeCode: string]: number; }; }>; static getProjectDeviationSummary({ projectId }: AssociationIds, user: User): Promise; static getProjectProgressSummary({ projectId }: AssociationIds, user: User): Promise; static createProject(organizationId: string, project: ApiProject, user: User): Promise<{ firebaseId: string; }>; static updateProject(projectId: string, project: ApiProject, user: User): Promise; static archiveProject(projectId: string, user: User): Promise; static unarchiveProject(projectId: string, user: User): Promise; static saveProjectCostAnalysisProgress({ projectId }: AssociationIds, progress: any, user: User): Promise; static saveScannedProjectMasterformatProgress({ projectId }: AssociationIds, progress: ApiMasterformatProgress, user: User): Promise; static saveScheduledProjectMasterformatProgress({ projectId }: AssociationIds, progress: ApiMasterformatProgress, scheduleType: "current" | "baseline", user: User): Promise; static getProjectCostAnalysisProgress({ projectId }: AssociationIds, user: User): Promise; static getScannedProjectMasterformatProgress({ projectId }: AssociationIds, user: User): Promise; static getMasterformatsWithPbesInProject(projectId: string, version: number, user: User): Promise; static uploadAiAssistedProgressMasterFormatScheduleTsv(projectId: any, tsvContent: string, isCorrectedTsvFile: string, user: User): Promise; static DownloadAiAssistedMasterFormatScheduleTsv(projectId: any, user: User): Promise; static getCssContactsForProject(projectId: string, user: User): Promise; static submitSupportRequest(projectId: string, { description, sourcePage, featureOfInterest, files }: { description: string; sourcePage?: string; featureOfInterest?: string; files?: File[]; }, user: User): Promise; /** * @deprecated use getProjectMasterformatProgress */ static getScheduledProjectMasterformatProgress({ projectId }: AssociationIds, scheduleType: "current" | "baseline", user: User): Promise; static getProjectMasterformatProgress({ projectId }: AssociationIds, scheduleType: ProgressType, user: User): Promise; static getAllFloorsMasterformatProgress({ projectId }: AssociationIds, progressType: ProgressType, user: User): Promise<{ [floorFirebaseId: string]: ApiMasterformatProgress[]; }>; static listProjectFloorFiles({ projectId }: AssociationIds, user: User): Promise; static getProjectDeviationsReportTsvUrl({ projectId }: AssociationIds, fileName: string, user: User): string; static getProjectDeviationsReportTsv({ projectId }: AssociationIds, user: User): Promise; static getTradeBreakdownTsvUrl({ projectId }: AssociationIds, fileName: string, user: User): string; static saveTradeBreakdownTsv({ projectId }: AssociationIds, tsvContent: string, user: User): Promise; static getWorkPackages(projectId: string, user: User): Promise; static saveWorkPackages(projectId: string, user: User, workPackages: ApiProjectWorkPackage[]): Promise; static generateMasterformatProgress({ projectId }: AssociationIds, reportDate: DateLike, masterformatVersion: number, user: User): Promise; static getFiltered5dTsv({ projectId }: AssociationIds, projectName: string, fileName: string, filter: any, user: User): Promise; static getClassificationCodes({ projectId }: AssociationIds, user: User): Promise; static checkWbsStatus({ projectId }: AssociationIds, user: User): Promise; static updateMasterformatSelection({ projectId, floorId }: AssociationIds, masterformatTree: any, user: User): Promise; static getWorkPackageCosts({ projectId }: AssociationIds, workPackageType: ProjectWorkPackageType, user: User): Promise; static generateAllMasterformatProgress({ projectId }: AssociationIds, reportDate: DateLike, masterformatVersion: number, user: User): Promise; static importProjectData({ projectId }: AssociationIds, tsvContent: string, user: User): Promise; static importProjectDataFromStorage({ projectId }: AssociationIds, storagePath: string, user: User): Promise; static getSignedUploadUrl({ projectId }: AssociationIds, storagePath: string, user: User): Promise; }