import { BaseEntity } from '../database/base.entity';
import { BankAccountEntity } from './bank-account.entity';
import { CurrencyEntity } from './currency.entity';
import { SettlementPaymentEntity, SettlementPaymentMode } from './settlement-payment.entity';
import { SettlementPaymentType } from '../common/constants/settlement-payment-type';
import { TripSourceEntity } from './trip-source.entity';
export declare enum CollectionPartyType {
    CUSTOMER = "CUSTOMER",
    SOURCE = "SOURCE"
}
export declare enum CollectionExcessTreatment {
    CREDIT = "CREDIT",
    ADVANCE = "ADVANCE"
}
export declare class PaymentCollectionEntity extends BaseEntity {
    receipt_no: string;
    receipt_year: number;
    party_type: CollectionPartyType;
    customer_mobile: string | null;
    source: TripSourceEntity | null;
    source_id: string | null;
    customer_name: string | null;
    payment_date: string;
    payment_type: SettlementPaymentType;
    mode: SettlementPaymentMode;
    ref_no: string | null;
    debit_bank_account: BankAccountEntity | null;
    debit_bank_account_id: string | null;
    credit_bank_account: BankAccountEntity | null;
    credit_bank_account_id: string | null;
    currency: CurrencyEntity;
    currency_id: string;
    received_amount: number;
    receive_currency: CurrencyEntity | null;
    receive_currency_id: string | null;
    exchange_rate: number | null;
    exchange_rate_quote: number | null;
    received_amount_receive_currency: number | null;
    roe: number | null;
    allocated_amount: number;
    excess_amount: number;
    credit_applied: number;
    excess_treatment: CollectionExcessTreatment | null;
    notes: string | null;
    collected_by_type: 'OWN' | 'SUPPLIER' | null;
    collector_name: string | null;
    collector_supplier_id: string | null;
    collector_driver_id: string | null;
    is_void: boolean;
    voided_at: Date | null;
    voided_by: string | null;
    void_reason: string | null;
    payments: SettlementPaymentEntity[];
}
