import { AptlyDocumentSchema } from './document.js';
export type AptlyPaymentSettlement = AptlyPaymentSettlementSchema<string, string>;
export interface AptlyPaymentSettlementSchema<ID, DATE> extends AptlyPaymentSettlementData {
    _id: ID;
    organization?: ID;
    document?: ID | AptlyDocumentSchema<ID, DATE>;
    reportDocument?: ID | AptlyDocumentSchema<ID, DATE>;
    app: ID;
    externalId: string;
    externalRef: string;
    destination: string;
    amounts: AptlyPaymentSettlementAmountSchema<ID>[];
    transactions: AptlyPaymentSettlementTransactionSchema<ID, DATE>[];
    orders: ID[];
    payments: ID[];
    at: DATE;
    tripletexId?: number;
    updatedAt: DATE;
    createdAt: DATE;
}
export interface AptlyPaymentSettlementData {
    captured: number;
    fee: number;
    refunded: number;
    work: number;
    paid: number;
}
export type AptlyPaymentSettlementAmount = AptlyPaymentSettlementAmountSchema<string>;
export interface AptlyPaymentSettlementAmountSchema<ID> {
    _id: ID;
    amount: number;
    gross: number;
    fee: number;
    chargeback: number;
    capture: number;
    currency: string;
    net: number;
    refund: number;
}
export type AptlyPaymentSettlementTransaction = AptlyPaymentSettlementTransactionSchema<string, string>;
export interface AptlyPaymentSettlementTransactionSchema<ID, DATE> {
    _id: ID;
    sessionID: string;
    transactionDate: DATE;
    transactionID: string;
    transactionType: string;
    captured: number;
    refunded: number;
    chargeback: number;
    amount: number;
    fee: number;
    net: number;
    vat: number;
    order: ID;
}
