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 { WorkFromHomeActionEnum } from "../enums/work_from_home_action_enum"; import { WorkFromHomeStatusEnum } from "../enums/work_from_home_status_enum"; import { IWorkFromHomeFlowConfigContextData } from "../flow-configs/work_from_home_flow.config"; import { IWorkFromHomeEntity } from "../interface/work_from_home.entity.interface"; import { BankEntityModel } from "./bank.entity.model"; import { ClientEntityModel } from "./client.entity.model"; import { ClientAffiliateEntityModel } from "./client_affiliate.entity.model"; import { ClientDebitNoteEntityModel } from "./client_debit_note.entity.model"; import { ClientDebitNoteParticularsEntityModel } from "./client_debit_note_particulars.entity.model"; import { CountryEntityModel } from "./country.entity.model"; import { ExpenseHeadEntityModel } from "./expense_head.entity.model"; import { GstRateEntityModel } from "./gst_rate.entity.model"; import { LeaveEntityModel } from "./leave.entity.model"; import { LeaveApprovalEntityModel } from "./leave_approval.entity.model"; import { OfficeLocationEntityModel } from "./office_location.entity.model"; import { OrganizationTypeEntityModel } from "./organization_type.entity.model"; import { StateEntityModel } from "./state.entity.model"; import { TdsRateEntityModel } from "./tds_rate.entity.model"; import { UserEntityModel } from "./user.entity.model"; import { VendorEntityModel } from "./vendor.entity.model"; import { VendorAdvanceEntityModel } from "./vendor_advance.entity.model"; import { VendorInvoiceEntityModel } from "./vendor_invoice.entity.model"; import { VendorInvoiceAdvanceEntityModel } from "./vendor_invoice_advance.entity.model"; import { VendorInvoiceItemEntityModel } from "./vendor_invoice_item.entity.model"; import { VendorInvoicePaymentEntityModel } from "./vendor_invoice_payment.entity.model"; import { VendorTdsChallanEntityModel } from "./vendor_tds_challan.entity.model"; import { VendorTdsLiabilityEntityModel } from "./vendor_tds_liability.entity.model"; import { VoucherTypeEntityModel } from "./voucher_type.entity.model"; export declare class WorkFromHomeEntityModel extends BaseEntityModel implements IWorkFromHomeEntity { id: number; employeeId: number; from: number; to: number; reason: string; remark?: string; status: WorkFromHomeStatusEnum; createdOn: number; updatedOn: number; createdBy: number; updatedBy: number; user?: UserEntityModel; static relationConfigs: RelationConfigs<[EntityEnum.USER], EntityEnum.WORK_FROM_HOME>; static fromEntity(entity: IWorkFromHomeEntity): WorkFromHomeEntityModel; getRelationConfigs(): any[]; get leaveApprovals(): LeaveApprovalEntityModel[] | undefined; get leaves(): LeaveEntityModel[] | undefined; get clients(): ClientEntityModel[] | undefined; get clientDebitNotes(): ClientDebitNoteEntityModel[] | undefined; get banks(): BankEntityModel[] | undefined; get vendorTdsChallans(): VendorTdsChallanEntityModel[] | undefined; get tdsRates(): TdsRateEntityModel[] | undefined; get organizationTypes(): OrganizationTypeEntityModel[] | undefined; get vendors(): VendorEntityModel[] | undefined; get states(): StateEntityModel[] | undefined; get countrys(): CountryEntityModel[] | undefined; get vendorInvoices(): VendorInvoiceEntityModel[] | undefined; get officeLocations(): OfficeLocationEntityModel[] | undefined; get vendorInvoiceItems(): VendorInvoiceItemEntityModel[] | undefined; get voucherTypes(): VoucherTypeEntityModel[] | undefined; get expenseHeads(): ExpenseHeadEntityModel[] | undefined; get gstRates(): GstRateEntityModel[] | undefined; get vendorAdvances(): VendorAdvanceEntityModel[] | undefined; get vendorInvoiceAdvances(): VendorInvoiceAdvanceEntityModel[] | undefined; get vendorInvoicePayments(): VendorInvoicePaymentEntityModel[] | undefined; get vendorTdsLiabilitys(): VendorTdsLiabilityEntityModel[] | undefined; get clientAffiliates(): ClientAffiliateEntityModel[] | undefined; get clientDebitNoteParticularss(): ClientDebitNoteParticularsEntityModel[] | undefined; getNextStatus(currentUser: IUserEntity, action: WorkFromHomeActionEnum, workFromHomeFlowConfigContextData: IWorkFromHomeFlowConfigContextData): WorkFromHomeStatusEnum; getAvailableActions(currentUser: UserEntityModel, config?: { combinedActions?: Record; customLabels?: Partial>; }): IRowActions[]; getUpdateActionVisibility(currentUser: UserEntityModel): { [key: string]: () => boolean; }; getStatusLabel(status: WorkFromHomeStatusEnum): string; getFormattedStatus(): string; }