import { BillingActionsEnum, IBillingEntity, IBillingProfileEntity, IEntityUpdateDto } from "../../entities"; import { IBillingCreateDtoValidationData, IBillingParticulars } from "./billing.create.dto.interface"; import { IBillingParticularLineItemUpdateDto } from "./billing_particular_line_item.update.dto.interface"; import { IBillingReimbursementExpenseUpdateDto } from "./billing_reimbursement_expense.update.dto.interface"; import { IBillingTimesheetUpdateDto } from "./billing_timesheet.update.dto.interface"; export type IBillingUpdateDtoExclude = "draftInvoiceNumber" | "invoiceNumber"; export interface IBillingUpdateDto extends Omit, IBillingUpdateDtoExclude> { } export interface IUpdateBillingDto extends Omit { action?: BillingActionsEnum; timesheets?: IBillingTimesheetUpdateDto[]; reimbursementExpenses?: IBillingReimbursementExpenseUpdateDto[]; particulars?: IBillingParticulars; billingParticularLineItems?: IBillingParticularLineItemUpdateDto[]; } export interface IBillingUpdateDtoValidationData extends IBillingCreateDtoValidationData { billingEntity: IBillingEntity; billingProfileEntity: IBillingProfileEntity; }