import { EntityEnum } from "../interface/entity.utils.interface"; import { RelationConfigs } from "../interface/relation-config.interface"; import { IUserEntity } from "../interface/user.entity.interface"; import { BaseEntityModel } from "./base.entity.model"; import { IRowActions } from "./interface/row-actions.interface"; import { UserEntityModel } from "./user.entity.model"; import { IRateEntity } from "../interface/rate.entity.interface"; import { CurrencyEnum, TimeUnitEnum } from "../../enums"; import { RateActionEnum } from "../enums/rate_action_enum"; import { RateStatusEnum } from "../enums/rate_status_enum"; import { IRateFlowConfigContextData } from "../flow-configs/rate_flow.config"; import { ClientQuoteEntityModel } from "./client_quote.entity.model"; import { ClientQuoteRateEntityModel } from "./client_quote_rate.entity.model"; import { DesignationEntityModel } from "./designation.entity.model"; export declare class RateEntityModel extends BaseEntityModel implements IRateEntity { id: number; designation: string; rate: number; currency: CurrencyEnum; unit: TimeUnitEnum; status: RateStatusEnum; createdOn: number; updatedOn: number; createdBy: number; updatedBy: number; designationModel?: DesignationEntityModel; static relationConfigs: RelationConfigs<[EntityEnum.DESIGNATION], EntityEnum.RATE>; static fromEntity(entity: IRateEntity): RateEntityModel; getRelationConfigs(): any[]; get clientQuoteRates(): ClientQuoteRateEntityModel[] | undefined; get clientQuotes(): ClientQuoteEntityModel[] | undefined; getNextStatus(currentUser: IUserEntity, action: RateActionEnum, rateFlowConfigContextData: IRateFlowConfigContextData): RateStatusEnum; getAvailableActions(currentUser: UserEntityModel, config?: { combinedActions?: Record; customLabels?: Partial>; }): IRowActions[]; getUpdateActionVisibility(currentUser: UserEntityModel): { [key: string]: () => boolean; }; static getByDesignation(designation: string, roleModels: RateEntityModel[], designationModels: DesignationEntityModel[]): RateEntityModel[]; static getByCurrency(currency: string, roleModels: RateEntityModel[]): RateEntityModel | undefined; static getByDesignationCurrency(designation: string, currency: string, roleModels: RateEntityModel[], designationModels: DesignationEntityModel[]): RateEntityModel | undefined; }