import { IMovingTimesheetUpdateDto } from "../../api"; import { MovingTimesheetActionEnum } from "../enums/moving_timesheet_action_enum"; import { MovingTimesheetStatusEnum } from "../enums/moving_timesheet_status_enum"; import { EntityEnum } from "../interface/entity.utils.interface"; import { IMovingTimesheetEntity } from "../interface/moving_timesheet.entity.interface"; import { RelationConfigs } from "../interface/relation-config.interface"; import { BaseEntityModel } from "./base.entity.model"; import { IRowActions } from "./interface/row-actions.interface"; import { ProjectEntityModel } from "./project.entity.model"; import { TimesheetEntityModel } from "./timesheet.entity.model"; import { UserEntityModel } from "./user.entity.model"; export declare class MovingTimesheetEntityModel extends BaseEntityModel implements IMovingTimesheetEntity { id: number; timesheetId: number; sourceProjectId: number; targetProjectId: number; status: MovingTimesheetStatusEnum; createdOn: number; updatedOn: number; createdBy: number; updatedBy: number; timesheet?: TimesheetEntityModel; projects?: ProjectEntityModel[]; reason: string; remark?: string; static fromEntity(entity: IMovingTimesheetEntity): MovingTimesheetEntityModel; getAvailableActions(currentUser: UserEntityModel, config?: { combinedActions?: Record; customLabels?: Partial>; }): IRowActions[]; getUpdateActionVisibility(currentUser: UserEntityModel): { [key: string]: () => boolean; }; getNextStatus(currentUser: UserEntityModel, dto: IMovingTimesheetUpdateDto): MovingTimesheetStatusEnum; mapStatusLabel(status: MovingTimesheetStatusEnum): string; static getPendingApprovalStatuses(): MovingTimesheetStatusEnum[]; static getFormattedStatus(status: MovingTimesheetStatusEnum): string; static relationConfigs: RelationConfigs<[EntityEnum.TIMESHEET, EntityEnum.PROJECT], EntityEnum.MOVING_TIMESHEET>; getRelationConfigs(): [import("../interface/relation-config.interface").IRelationConfig, import("../interface/relation-config.interface").IRelationConfig]; get sourceProject(): ProjectEntityModel; get sourceProjectName(): string; get targetProject(): ProjectEntityModel; get targetProjectName(): string; get sourceProjectPartners(): UserEntityModel[]; get targetProjectPartners(): UserEntityModel[]; get sourceProjectClientName(): string; get targetProjectClientName(): string; }