import type * as Merge from "../../../../api/index";
import * as core from "../../../../core";
import type * as serializers from "../../../index";
import { ExpenseAccount } from "./ExpenseAccount";
import { ExpenseAccountingPeriod } from "./ExpenseAccountingPeriod";
import { ExpenseCompany } from "./ExpenseCompany";
import { ExpenseContact } from "./ExpenseContact";
import { ExpenseCurrency } from "./ExpenseCurrency";
import { ExpenseEmployee } from "./ExpenseEmployee";
import { ExpenseLine } from "./ExpenseLine";
import { ExpenseTrackingCategoriesItem } from "./ExpenseTrackingCategoriesItem";
import { RemoteData } from "./RemoteData";
import { RemoteField } from "./RemoteField";
export declare const Expense: core.serialization.ObjectSchema<serializers.accounting.Expense.Raw, Merge.accounting.Expense>;
export declare namespace Expense {
    interface Raw {
        id?: string | null;
        remote_id?: string | null;
        created_at?: string | null;
        modified_at?: string | null;
        transaction_date?: string | null;
        remote_created_at?: string | null;
        account?: ExpenseAccount.Raw | null;
        contact?: ExpenseContact.Raw | null;
        total_amount?: number | null;
        sub_total?: number | null;
        total_tax_amount?: number | null;
        currency?: ExpenseCurrency.Raw | null;
        exchange_rate?: string | null;
        inclusive_of_tax?: boolean | null;
        company?: ExpenseCompany.Raw | null;
        employee?: ExpenseEmployee.Raw | null;
        memo?: string | null;
        lines?: ExpenseLine.Raw[] | null;
        tracking_categories?: (ExpenseTrackingCategoriesItem.Raw | null | undefined)[] | null;
        remote_was_deleted?: boolean | null;
        accounting_period?: ExpenseAccountingPeriod.Raw | null;
        field_mappings?: Record<string, unknown> | null;
        remote_data?: RemoteData.Raw[] | null;
        remote_fields?: RemoteField.Raw[] | null;
    }
}
