import { BaseEntity } from '../database/base.entity';
import { BookingEntity } from './booking.entity';
import { CurrencyEntity } from './currency.entity';
import { BookingChangeRequestEntity } from './booking-change-request.entity';
import { SettlementPaymentEntity } from './settlement-payment.entity';
import { SupplierEntity } from './supplier.entity';
import { BookingSettlementMasterEntity } from './booking-settlement-master.entity';
import { UserEntity } from './user.entity';
export declare enum SettlementParty {
    CUSTOMER = "CUSTOMER",
    SUPPLIER = "SUPPLIER"
}
export declare enum SettlementType {
    COLLECTION = "COLLECTION",
    REFUND = "REFUND"
}
export declare enum SettlementStatus {
    PENDING = "PENDING",
    PARTIAL = "PARTIAL",
    SETTLED = "SETTLED"
}
export declare class PaymentSettlementEntity extends BaseEntity {
    booking: BookingEntity;
    booking_id: string;
    type: SettlementType;
    amount: number;
    amount_settled: number;
    currency: CurrencyEntity;
    currency_id: string;
    status: SettlementStatus;
    due_date: string;
    settled_date: string | null;
    notes: string | null;
    change_breakdown: {
        added?: Array<Record<string, unknown>>;
        dropped?: Array<Record<string, unknown>>;
        modified?: Array<Record<string, unknown>>;
    } | null;
    triggered_by_change_request: BookingChangeRequestEntity | null;
    triggered_by_change_request_id: string | null;
    source: string;
    master: BookingSettlementMasterEntity | null;
    master_id: string | null;
    sales_agent: UserEntity | null;
    sales_agent_id: string | null;
    party_type: SettlementParty;
    supplier: SupplierEntity | null;
    supplier_id: string | null;
    source_item_type: string | null;
    source_item_id: string | null;
    payments: SettlementPaymentEntity[];
}
