import type * as Merge from "../../../../api/index";
import * as core from "../../../../core";
import type * as serializers from "../../../index";
import { PaymentAccount } from "./PaymentAccount";
import { PaymentAccountingPeriod } from "./PaymentAccountingPeriod";
import { PaymentAppliedToLinesItem } from "./PaymentAppliedToLinesItem";
import { PaymentCompany } from "./PaymentCompany";
import { PaymentContact } from "./PaymentContact";
import { PaymentCurrency } from "./PaymentCurrency";
import { PaymentPaymentMethod } from "./PaymentPaymentMethod";
import { PaymentTrackingCategoriesItem } from "./PaymentTrackingCategoriesItem";
import { PaymentType } from "./PaymentType";
import { RemoteData } from "./RemoteData";
import { RemoteField } from "./RemoteField";
export declare const Payment: core.serialization.ObjectSchema<serializers.accounting.Payment.Raw, Merge.accounting.Payment>;
export declare namespace Payment {
    interface Raw {
        id?: string | null;
        remote_id?: string | null;
        created_at?: string | null;
        modified_at?: string | null;
        transaction_date?: string | null;
        contact?: PaymentContact.Raw | null;
        account?: PaymentAccount.Raw | null;
        payment_method?: PaymentPaymentMethod.Raw | null;
        currency?: PaymentCurrency.Raw | null;
        exchange_rate?: string | null;
        company?: PaymentCompany.Raw | null;
        total_amount?: number | null;
        type?: PaymentType.Raw | null;
        tracking_categories?: (PaymentTrackingCategoriesItem.Raw | null | undefined)[] | null;
        accounting_period?: PaymentAccountingPeriod.Raw | null;
        applied_to_lines?: PaymentAppliedToLinesItem.Raw[] | null;
        remote_updated_at?: string | null;
        remote_was_deleted?: boolean | null;
        field_mappings?: Record<string, unknown> | null;
        remote_data?: RemoteData.Raw[] | null;
        remote_fields?: RemoteField.Raw[] | null;
    }
}
