import type * as Merge from "../../../../api/index";
import * as core from "../../../../core";
import * as serializers from "../../../index";
import { InvoiceAccountingPeriod } from "./InvoiceAccountingPeriod";
import { InvoiceAppliedPaymentsItem } from "./InvoiceAppliedPaymentsItem";
import { InvoiceCompany } from "./InvoiceCompany";
import { InvoiceContact } from "./InvoiceContact";
import { InvoiceCurrency } from "./InvoiceCurrency";
import { InvoiceEmployee } from "./InvoiceEmployee";
import { InvoiceLineItemsItem } from "./InvoiceLineItemsItem";
import { InvoicePaymentsItem } from "./InvoicePaymentsItem";
import { InvoicePaymentTerm } from "./InvoicePaymentTerm";
import { InvoicePurchaseOrdersItem } from "./InvoicePurchaseOrdersItem";
import { InvoiceSalesOrdersItem } from "./InvoiceSalesOrdersItem";
import { InvoiceStatus } from "./InvoiceStatus";
import { InvoiceTrackingCategoriesItem } from "./InvoiceTrackingCategoriesItem";
import { InvoiceType } from "./InvoiceType";
import { RemoteData } from "./RemoteData";
import { RemoteField } from "./RemoteField";
export declare const Invoice: core.serialization.ObjectSchema<serializers.accounting.Invoice.Raw, Merge.accounting.Invoice>;
export declare namespace Invoice {
    interface Raw {
        id?: string | null;
        remote_id?: string | null;
        created_at?: string | null;
        modified_at?: string | null;
        type?: InvoiceType.Raw | null;
        contact?: InvoiceContact.Raw | null;
        number?: string | null;
        issue_date?: string | null;
        due_date?: string | null;
        paid_on_date?: string | null;
        memo?: string | null;
        company?: InvoiceCompany.Raw | null;
        employee?: InvoiceEmployee.Raw | null;
        currency?: InvoiceCurrency.Raw | null;
        exchange_rate?: string | null;
        payment_term?: InvoicePaymentTerm.Raw | null;
        total_discount?: number | null;
        sub_total?: number | null;
        status?: InvoiceStatus.Raw | null;
        total_tax_amount?: number | null;
        total_amount?: number | null;
        balance?: number | null;
        remote_updated_at?: string | null;
        tracking_categories?: (InvoiceTrackingCategoriesItem.Raw | null | undefined)[] | null;
        accounting_period?: InvoiceAccountingPeriod.Raw | null;
        purchase_orders?: (InvoicePurchaseOrdersItem.Raw | null | undefined)[] | null;
        sales_orders?: (InvoiceSalesOrdersItem.Raw | null | undefined)[] | null;
        payments?: (InvoicePaymentsItem.Raw | null | undefined)[] | null;
        applied_payments?: (InvoiceAppliedPaymentsItem.Raw | null | undefined)[] | null;
        line_items?: InvoiceLineItemsItem.Raw[] | null;
        applied_credit_notes?: serializers.accounting.InvoiceAppliedCreditNotesItem.Raw[] | null;
        applied_vendor_credits?: serializers.accounting.InvoiceAppliedVendorCreditsItem.Raw[] | null;
        inclusive_of_tax?: boolean | null;
        remote_was_deleted?: boolean | null;
        field_mappings?: Record<string, unknown> | null;
        remote_data?: RemoteData.Raw[] | null;
        remote_fields?: RemoteField.Raw[] | null;
    }
}
