/**
 * Accounting API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 2.0.0
 * Contact: api@xero.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/// <reference types="node" />
import http = require('http');
import fs = require('fs');
import { Account } from '../model/accounting/account';
import { Accounts } from '../model/accounting/accounts';
import { Allocation } from '../model/accounting/allocation';
import { Allocations } from '../model/accounting/allocations';
import { Attachments } from '../model/accounting/attachments';
import { BankTransaction } from '../model/accounting/bankTransaction';
import { BankTransactions } from '../model/accounting/bankTransactions';
import { BankTransfers } from '../model/accounting/bankTransfers';
import { BatchPayments } from '../model/accounting/batchPayments';
import { BrandingThemes } from '../model/accounting/brandingThemes';
import { CISOrgSetting } from '../model/accounting/cISOrgSetting';
import { CISSettings } from '../model/accounting/cISSettings';
import { Contact } from '../model/accounting/contact';
import { ContactGroups } from '../model/accounting/contactGroups';
import { Contacts } from '../model/accounting/contacts';
import { CreditNote } from '../model/accounting/creditNote';
import { CreditNotes } from '../model/accounting/creditNotes';
import { Currencies } from '../model/accounting/currencies';
import { Currency } from '../model/accounting/currency';
import { Employee } from '../model/accounting/employee';
import { Employees } from '../model/accounting/employees';
import { ExpenseClaims } from '../model/accounting/expenseClaims';
import { HistoryRecords } from '../model/accounting/historyRecords';
import { Invoice } from '../model/accounting/invoice';
import { InvoiceReminders } from '../model/accounting/invoiceReminders';
import { Invoices } from '../model/accounting/invoices';
import { Item } from '../model/accounting/item';
import { Items } from '../model/accounting/items';
import { Journals } from '../model/accounting/journals';
import { LinkedTransaction } from '../model/accounting/linkedTransaction';
import { LinkedTransactions } from '../model/accounting/linkedTransactions';
import { ManualJournal } from '../model/accounting/manualJournal';
import { ManualJournals } from '../model/accounting/manualJournals';
import { OnlineInvoices } from '../model/accounting/onlineInvoices';
import { Organisations } from '../model/accounting/organisations';
import { Overpayments } from '../model/accounting/overpayments';
import { Payment } from '../model/accounting/payment';
import { PaymentService } from '../model/accounting/paymentService';
import { PaymentServices } from '../model/accounting/paymentServices';
import { Payments } from '../model/accounting/payments';
import { Prepayments } from '../model/accounting/prepayments';
import { PurchaseOrder } from '../model/accounting/purchaseOrder';
import { PurchaseOrders } from '../model/accounting/purchaseOrders';
import { Quotes } from '../model/accounting/quotes';
import { Receipts } from '../model/accounting/receipts';
import { RepeatingInvoices } from '../model/accounting/repeatingInvoices';
import { ReportWithRows } from '../model/accounting/reportWithRows';
import { Reports } from '../model/accounting/reports';
import { RequestEmpty } from '../model/accounting/requestEmpty';
import { TaxRates } from '../model/accounting/taxRates';
import { TrackingCategories } from '../model/accounting/trackingCategories';
import { TrackingCategory } from '../model/accounting/trackingCategory';
import { TrackingOption } from '../model/accounting/trackingOption';
import { TrackingOptions } from '../model/accounting/trackingOptions';
import { Users } from '../model/accounting/users';
import { Authentication } from '../model/accounting/models';
import { OAuth } from '../model/accounting/models';
export declare enum AccountingApiApiKeys {
}
export declare class AccountingApi {
    protected _basePath: string;
    protected defaultHeaders: any;
    protected _useQuerystring: boolean;
    protected binaryHeaders: any;
    protected authentications: {
        'default': Authentication;
        'OAuth2': OAuth;
    };
    constructor(basePath?: string);
    set useQuerystring(value: boolean);
    set basePath(basePath: string);
    get basePath(): string;
    setDefaultAuthentication(auth: Authentication): void;
    setApiKey(key: AccountingApiApiKeys, value: string): void;
    set accessToken(token: string);
    /**
     *
     * @summary Allows you to create a new chart of accounts
     * @param xeroTenantId Xero identifier for Tenant
     * @param account Request of type Account
     */
    createAccount(xeroTenantId: string, account: Account, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Accounts;
    }>;
    /**
     *
     * @summary Allows you to create Attachment on Account
     * @param xeroTenantId Xero identifier for Tenant
     * @param accountID Unique identifier for Account object
     * @param fileName Name of the attachment
     * @param body Byte array of file in body of request
     */
    createAccountAttachmentByFileName(xeroTenantId: string, accountID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to create a spend or receive money transaction
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransaction
     */
    createBankTransaction(xeroTenantId: string, bankTransaction: BankTransaction, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: BankTransactions;
    }>;
    /**
     *
     * @summary Allows you to createa an Attachment on BankTransaction by Filename
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransactionID Xero generated unique identifier for a bank transaction
     * @param fileName The name of the file being attached
     * @param body Byte array of file in body of request
     */
    createBankTransactionAttachmentByFileName(xeroTenantId: string, bankTransactionID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to create history record for a bank transactions
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransactionID Xero generated unique identifier for a bank transaction
     * @param historyRecords
     */
    createBankTransactionHistoryRecord(xeroTenantId: string, bankTransactionID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to create a spend or receive money transaction
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransactions
     * @param summarizeErrors response format that shows validation errors for each bank transaction
     */
    createBankTransactions(xeroTenantId: string, bankTransactions: BankTransactions, summarizeErrors?: boolean, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: BankTransactions;
    }>;
    /**
     *
     * @summary Allows you to create a bank transfers
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransfers
     */
    createBankTransfer(xeroTenantId: string, bankTransfers: BankTransfers, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: BankTransfers;
    }>;
    /**
     *
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransferID Xero generated unique identifier for a bank transfer
     * @param fileName The name of the file being attached to a Bank Transfer
     * @param body Byte array of file in body of request
     */
    createBankTransferAttachmentByFileName(xeroTenantId: string, bankTransferID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransferID Xero generated unique identifier for a bank transfer
     * @param historyRecords
     */
    createBankTransferHistoryRecord(xeroTenantId: string, bankTransferID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Create one or many BatchPayments for invoices
     * @param xeroTenantId Xero identifier for Tenant
     * @param batchPayments Request of type BatchPayments containing a Payments array with one or more Payment objects
     */
    createBatchPayment(xeroTenantId: string, batchPayments: BatchPayments, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: BatchPayments;
    }>;
    /**
     *
     * @summary Allows you to create a history record for a Batch Payment
     * @param xeroTenantId Xero identifier for Tenant
     * @param batchPaymentID Unique identifier for BatchPayment
     * @param historyRecords
     */
    createBatchPaymentHistoryRecord(xeroTenantId: string, batchPaymentID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allow for the creation of new custom payment service for specified Branding Theme
     * @param xeroTenantId Xero identifier for Tenant
     * @param brandingThemeID Unique identifier for a Branding Theme
     * @param paymentService
     */
    createBrandingThemePaymentServices(xeroTenantId: string, brandingThemeID: string, paymentService: PaymentService, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: PaymentServices;
    }>;
    /**
     *
     * @summary Allows you to create a single contact in a Xero organisation
     * @param xeroTenantId Xero identifier for Tenant
     * @param contact
     */
    createContact(xeroTenantId: string, contact: Contact, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Contacts;
    }>;
    /**
     *
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactID Unique identifier for a Contact
     * @param fileName Name for the file you are attaching
     * @param body Byte array of file in body of request
     */
    createContactAttachmentByFileName(xeroTenantId: string, contactID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to create a contact group
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactGroups an array of contact groups with names specified
     */
    createContactGroup(xeroTenantId: string, contactGroups: ContactGroups, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ContactGroups;
    }>;
    /**
     *
     * @summary Allows you to add Contacts to a Contract Group
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactGroupID Unique identifier for a Contact Group
     * @param contacts an array of contacts with ContactID to be added to ContactGroup
     */
    createContactGroupContacts(xeroTenantId: string, contactGroupID: string, contacts: Contacts, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Contacts;
    }>;
    /**
     *
     * @summary Allows you to retrieve a history records of an Contact
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactID Unique identifier for a Contact
     * @param historyRecords
     */
    createContactHistory(xeroTenantId: string, contactID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to create a multiple contacts (bulk) in a Xero organisation
     * @param xeroTenantId Xero identifier for Tenant
     * @param contacts
     * @param summarizeErrors response format that shows validation errors for each bank transaction
     */
    createContacts(xeroTenantId: string, contacts: Contacts, summarizeErrors?: boolean, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Contacts;
    }>;
    /**
     *
     * @summary Allows you to create a credit note
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNote an array of Credit Notes with a single CreditNote object.
     */
    createCreditNote(xeroTenantId: string, creditNote: CreditNote, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: CreditNotes;
    }>;
    /**
     *
     * @summary Allows you to create Allocation on CreditNote
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNoteID Unique identifier for a Credit Note
     * @param allocations an array of Allocations with single Allocation object defined.
     */
    createCreditNoteAllocation(xeroTenantId: string, creditNoteID: string, allocations: Allocations, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Allocations;
    }>;
    /**
     *
     * @summary Allows you to create Attachments on CreditNote by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNoteID Unique identifier for a Credit Note
     * @param fileName Name of the file you are attaching to Credit Note
     * @param body Byte array of file in body of request
     */
    createCreditNoteAttachmentByFileName(xeroTenantId: string, creditNoteID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to retrieve a history records of an CreditNote
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNoteID Unique identifier for a Credit Note
     * @param historyRecords
     */
    createCreditNoteHistory(xeroTenantId: string, creditNoteID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to create a credit note
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNotes an array of Credit Notes with a single CreditNote object.
     * @param summarizeErrors shows validation errors for each credit note
     */
    createCreditNotes(xeroTenantId: string, creditNotes: CreditNotes, summarizeErrors?: boolean, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: CreditNotes;
    }>;
    /**
     *
     * @param xeroTenantId Xero identifier for Tenant
     * @param currency
     */
    createCurrency(xeroTenantId: string, currency: Currency, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Currencies;
    }>;
    /**
     *
     * @summary Allows you to create new employees used in Xero payrun
     * @param xeroTenantId Xero identifier for Tenant
     * @param employee
     */
    createEmployee(xeroTenantId: string, employee: Employee, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Employees;
    }>;
    /**
     *
     * @summary Allows you to create new employees used in Xero payrun
     * @param xeroTenantId Xero identifier for Tenant
     * @param employees
     */
    createEmployees(xeroTenantId: string, employees: Employees, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Employees;
    }>;
    /**
     *
     * @summary Allows you to create a history records of an ExpenseClaim
     * @param xeroTenantId Xero identifier for Tenant
     * @param expenseClaimID Unique identifier for a ExpenseClaim
     * @param historyRecords
     */
    createExpenseClaimHistory(xeroTenantId: string, expenseClaimID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve expense claims
     * @param xeroTenantId Xero identifier for Tenant
     * @param expenseClaims
     */
    createExpenseClaims(xeroTenantId: string, expenseClaims: ExpenseClaims, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ExpenseClaims;
    }>;
    /**
     *
     * @summary Allows you to create any sales invoices or purchase bills
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoice
     */
    createInvoice(xeroTenantId: string, invoice: Invoice, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Invoices;
    }>;
    /**
     *
     * @summary Allows you to create an Attachment on invoices or purchase bills by it\'s filename
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoiceID Unique identifier for an Invoice
     * @param fileName Name of the file you are attaching
     * @param body Byte array of file in body of request
     */
    createInvoiceAttachmentByFileName(xeroTenantId: string, invoiceID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to retrieve a history records of an invoice
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoiceID Unique identifier for an Invoice
     * @param historyRecords
     */
    createInvoiceHistory(xeroTenantId: string, invoiceID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to create any sales invoices or purchase bills
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoices
     * @param summarizeErrors shows validation errors for each invoice
     */
    createInvoices(xeroTenantId: string, invoices: Invoices, summarizeErrors?: boolean, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Invoices;
    }>;
    /**
     *
     * @summary Allows you to create an item
     * @param xeroTenantId Xero identifier for Tenant
     * @param item
     */
    createItem(xeroTenantId: string, item: Item, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Items;
    }>;
    /**
     *
     * @summary Allows you to create a history record for items
     * @param xeroTenantId Xero identifier for Tenant
     * @param itemID Unique identifier for an Item
     * @param historyRecords
     */
    createItemHistory(xeroTenantId: string, itemID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to create an item
     * @param xeroTenantId Xero identifier for Tenant
     * @param items
     * @param summarizeErrors response format that shows validation errors for each bank transaction
     */
    createItems(xeroTenantId: string, items: Items, summarizeErrors?: boolean, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Items;
    }>;
    /**
     *
     * @summary Allows you to create linked transactions (billable expenses)
     * @param xeroTenantId Xero identifier for Tenant
     * @param linkedTransaction
     */
    createLinkedTransaction(xeroTenantId: string, linkedTransaction: LinkedTransaction, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: LinkedTransactions;
    }>;
    /**
     *
     * @summary Allows you to create linked transactions (billable expenses)
     * @param xeroTenantId Xero identifier for Tenant
     * @param linkedTransactions
     */
    createLinkedTransactions(xeroTenantId: string, linkedTransactions: LinkedTransactions, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: LinkedTransactions;
    }>;
    /**
     *
     * @summary Allows you to create a manual journal
     * @param xeroTenantId Xero identifier for Tenant
     * @param manualJournal
     */
    createManualJournal(xeroTenantId: string, manualJournal: ManualJournal, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ManualJournals;
    }>;
    /**
     *
     * @summary Allows you to create a specified Attachment on ManualJournal by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param manualJournalID Unique identifier for a ManualJournal
     * @param fileName The name of the file being attached to a ManualJournal
     * @param body Byte array of file in body of request
     */
    createManualJournalAttachmentByFileName(xeroTenantId: string, manualJournalID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to create a manual journal
     * @param xeroTenantId Xero identifier for Tenant
     * @param manualJournals
     */
    createManualJournals(xeroTenantId: string, manualJournals: ManualJournals, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ManualJournals;
    }>;
    /**
     *
     * @summary Allows you to retrieve Allocations for overpayments
     * @param xeroTenantId Xero identifier for Tenant
     * @param overpaymentID Unique identifier for a Overpayment
     * @param allocation
     */
    createOverpaymentAllocation(xeroTenantId: string, overpaymentID: string, allocation: Allocation, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Allocations;
    }>;
    /**
     *
     * @summary Allows you to retrieve Allocations for overpayments
     * @param xeroTenantId Xero identifier for Tenant
     * @param overpaymentID Unique identifier for a Overpayment
     * @param allocations
     */
    createOverpaymentAllocations(xeroTenantId: string, overpaymentID: string, allocations: Allocations, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Allocations;
    }>;
    /**
     *
     * @summary Allows you to create history records of an Overpayment
     * @param xeroTenantId Xero identifier for Tenant
     * @param overpaymentID Unique identifier for a Overpayment
     * @param historyRecords
     */
    createOverpaymentHistory(xeroTenantId: string, overpaymentID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to create payments for invoices and credit notes
     * @param xeroTenantId Xero identifier for Tenant
     * @param payment
     */
    createPayment(xeroTenantId: string, payment: Payment, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Payments;
    }>;
    /**
     *
     * @summary Allows you to create a history record for a payment
     * @param xeroTenantId Xero identifier for Tenant
     * @param paymentID Unique identifier for a Payment
     * @param historyRecords
     */
    createPaymentHistory(xeroTenantId: string, paymentID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to create payment services
     * @param xeroTenantId Xero identifier for Tenant
     * @param paymentServices
     */
    createPaymentService(xeroTenantId: string, paymentServices: PaymentServices, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: PaymentServices;
    }>;
    /**
     *
     * @summary Allows you to create payments for invoices and credit notes
     * @param xeroTenantId Xero identifier for Tenant
     * @param payments
     */
    createPayments(xeroTenantId: string, payments: Payments, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Payments;
    }>;
    /**
     *
     * @summary Allows you to create an Allocation for prepayments
     * @param xeroTenantId Xero identifier for Tenant
     * @param prepaymentID
     * @param allocations
     */
    createPrepaymentAllocation(xeroTenantId: string, prepaymentID: string, allocations: Allocations, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Allocations;
    }>;
    /**
     *
     * @summary Allows you to create a history record for an Prepayment
     * @param xeroTenantId Xero identifier for Tenant
     * @param prepaymentID Unique identifier for a PrePayment
     * @param historyRecords
     */
    createPrepaymentHistory(xeroTenantId: string, prepaymentID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to create purchase orders
     * @param xeroTenantId Xero identifier for Tenant
     * @param purchaseOrder
     */
    createPurchaseOrder(xeroTenantId: string, purchaseOrder: PurchaseOrder, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: PurchaseOrders;
    }>;
    /**
     *
     * @summary Allows you to create HistoryRecord for purchase orders
     * @param xeroTenantId Xero identifier for Tenant
     * @param purchaseOrderID Unique identifier for a PurchaseOrder
     * @param historyRecords
     */
    createPurchaseOrderHistory(xeroTenantId: string, purchaseOrderID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to create purchase orders
     * @param xeroTenantId Xero identifier for Tenant
     * @param purchaseOrders
     * @param summarizeErrors shows validation errors for each purchase order.
     */
    createPurchaseOrders(xeroTenantId: string, purchaseOrders: PurchaseOrders, summarizeErrors?: boolean, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: PurchaseOrders;
    }>;
    /**
     *
     * @summary Allows you to create draft expense claim receipts for any user
     * @param xeroTenantId Xero identifier for Tenant
     * @param receipts
     */
    createReceipt(xeroTenantId: string, receipts: Receipts, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Receipts;
    }>;
    /**
     *
     * @summary Allows you to create Attachment on expense claim receipts by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param receiptID Unique identifier for a Receipt
     * @param fileName The name of the file being attached to the Receipt
     * @param body Byte array of file in body of request
     */
    createReceiptAttachmentByFileName(xeroTenantId: string, receiptID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to retrieve a history records of an Receipt
     * @param xeroTenantId Xero identifier for Tenant
     * @param receiptID Unique identifier for a Receipt
     * @param historyRecords
     */
    createReceiptHistory(xeroTenantId: string, receiptID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to create attachment on repeating invoices by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param repeatingInvoiceID Unique identifier for a Repeating Invoice
     * @param fileName The name of the file being attached to a Repeating Invoice
     * @param body Byte array of file in body of request
     */
    createRepeatingInvoiceAttachmentByFileName(xeroTenantId: string, repeatingInvoiceID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to create history for a repeating invoice
     * @param xeroTenantId Xero identifier for Tenant
     * @param repeatingInvoiceID Unique identifier for a Repeating Invoice
     * @param historyRecords
     */
    createRepeatingInvoiceHistory(xeroTenantId: string, repeatingInvoiceID: string, historyRecords: HistoryRecords, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to create one or more Tax Rates
     * @param xeroTenantId Xero identifier for Tenant
     * @param taxRates
     */
    createTaxRates(xeroTenantId: string, taxRates: TaxRates, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: TaxRates;
    }>;
    /**
     *
     * @summary Allows you to create tracking categories
     * @param xeroTenantId Xero identifier for Tenant
     * @param trackingCategory
     */
    createTrackingCategory(xeroTenantId: string, trackingCategory: TrackingCategory, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: TrackingCategories;
    }>;
    /**
     *
     * @summary Allows you to create options for a specified tracking category
     * @param xeroTenantId Xero identifier for Tenant
     * @param trackingCategoryID Unique identifier for a TrackingCategory
     * @param trackingOption
     */
    createTrackingOptions(xeroTenantId: string, trackingCategoryID: string, trackingOption: TrackingOption, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: TrackingOptions;
    }>;
    /**
     *
     * @summary Allows you to delete a chart of accounts
     * @param xeroTenantId Xero identifier for Tenant
     * @param accountID Unique identifier for retrieving single object
     */
    deleteAccount(xeroTenantId: string, accountID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Accounts;
    }>;
    /**
     *
     * @summary Allows you to delete a specific Contact from a Contract Group
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactGroupID Unique identifier for a Contact Group
     * @param contactID Unique identifier for a Contact
     */
    deleteContactGroupContact(xeroTenantId: string, contactGroupID: string, contactID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body?: any;
    }>;
    /**
     *
     * @summary Allows you to delete  all Contacts from a Contract Group
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactGroupID Unique identifier for a Contact Group
     */
    deleteContactGroupContacts(xeroTenantId: string, contactGroupID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body?: any;
    }>;
    /**
     *
     * @summary Allows you to delete a specified item
     * @param xeroTenantId Xero identifier for Tenant
     * @param itemID Unique identifier for an Item
     */
    deleteItem(xeroTenantId: string, itemID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body?: any;
    }>;
    /**
     *
     * @summary Allows you to delete a specified linked transactions (billable expenses)
     * @param xeroTenantId Xero identifier for Tenant
     * @param linkedTransactionID Unique identifier for a LinkedTransaction
     */
    deleteLinkedTransaction(xeroTenantId: string, linkedTransactionID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body?: any;
    }>;
    /**
     *
     * @summary Allows you to update a specified payment for invoices and credit notes
     * @param xeroTenantId Xero identifier for Tenant
     * @param paymentID Unique identifier for a Payment
     * @param payments
     */
    deletePayment(xeroTenantId: string, paymentID: string, payments: Payments, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Payments;
    }>;
    /**
     *
     * @summary Allows you to delete tracking categories
     * @param xeroTenantId Xero identifier for Tenant
     * @param trackingCategoryID Unique identifier for a TrackingCategory
     */
    deleteTrackingCategory(xeroTenantId: string, trackingCategoryID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: TrackingCategories;
    }>;
    /**
     *
     * @summary Allows you to delete a specified option for a specified tracking category
     * @param xeroTenantId Xero identifier for Tenant
     * @param trackingCategoryID Unique identifier for a TrackingCategory
     * @param trackingOptionID Unique identifier for a Tracking Option
     */
    deleteTrackingOptions(xeroTenantId: string, trackingCategoryID: string, trackingOptionID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: TrackingOptions;
    }>;
    /**
     *
     * @summary Allows you to email a copy of invoice to related Contact
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoiceID Unique identifier for an Invoice
     * @param requestEmpty
     */
    emailInvoice(xeroTenantId: string, invoiceID: string, requestEmpty: RequestEmpty, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body?: any;
    }>;
    /**
     *
     * @summary Allows you to retrieve a single chart of accounts
     * @param xeroTenantId Xero identifier for Tenant
     * @param accountID Unique identifier for retrieving single object
     */
    getAccount(xeroTenantId: string, accountID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Accounts;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachment on Account by Filename
     * @param xeroTenantId Xero identifier for Tenant
     * @param accountID Unique identifier for Account object
     * @param fileName Name of the attachment
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getAccountAttachmentByFileName(xeroTenantId: string, accountID: string, fileName: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve specific Attachment on Account
     * @param xeroTenantId Xero identifier for Tenant
     * @param accountID Unique identifier for Account object
     * @param attachmentID Unique identifier for Attachment object
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getAccountAttachmentById(xeroTenantId: string, accountID: string, attachmentID: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments for accounts
     * @param xeroTenantId Xero identifier for Tenant
     * @param accountID Unique identifier for Account object
     */
    getAccountAttachments(xeroTenantId: string, accountID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to retrieve the full chart of accounts
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     */
    getAccounts(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Accounts;
    }>;
    /**
     *
     * @summary Allows you to retrieve a single spend or receive money transaction
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransactionID Xero generated unique identifier for a bank transaction
     */
    getBankTransaction(xeroTenantId: string, bankTransactionID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: BankTransactions;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments on BankTransaction by Filename
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransactionID Xero generated unique identifier for a bank transaction
     * @param fileName The name of the file being attached
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getBankTransactionAttachmentByFileName(xeroTenantId: string, bankTransactionID: string, fileName: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments on a specific BankTransaction
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransactionID Xero generated unique identifier for a bank transaction
     * @param attachmentID Xero generated unique identifier for an attachment
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getBankTransactionAttachmentById(xeroTenantId: string, bankTransactionID: string, attachmentID: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve any attachments to bank transactions
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransactionID Xero generated unique identifier for a bank transaction
     */
    getBankTransactionAttachments(xeroTenantId: string, bankTransactionID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to retrieve any spend or receive money transactions
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     * @param page e.g. page&#x3D;1 – Up to 100 bank transactions will be returned in a single API call with line items shown for each bank transaction
     * @param unitdp e.g. unitdp&#x3D;4 – You can opt in to use four decimal places for unit amounts
     */
    getBankTransactions(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, page?: number, unitdp?: number, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: BankTransactions;
    }>;
    /**
     *
     * @summary Allows you to retrieve history from a bank transactions
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransactionID Xero generated unique identifier for a bank transaction
     */
    getBankTransactionsHistory(xeroTenantId: string, bankTransactionID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve any bank transfers
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransferID Xero generated unique identifier for a bank transfer
     */
    getBankTransfer(xeroTenantId: string, bankTransferID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: BankTransfers;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments on BankTransfer by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransferID Xero generated unique identifier for a bank transfer
     * @param fileName The name of the file being attached to a Bank Transfer
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getBankTransferAttachmentByFileName(xeroTenantId: string, bankTransferID: string, fileName: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments on BankTransfer
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransferID Xero generated unique identifier for a bank transfer
     * @param attachmentID Xero generated unique identifier for an Attachment to a bank transfer
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getBankTransferAttachmentById(xeroTenantId: string, bankTransferID: string, attachmentID: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments from  bank transfers
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransferID Xero generated unique identifier for a bank transfer
     */
    getBankTransferAttachments(xeroTenantId: string, bankTransferID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to retrieve history from a bank transfers
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransferID Xero generated unique identifier for a bank transfer
     */
    getBankTransferHistory(xeroTenantId: string, bankTransferID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve all bank transfers
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     */
    getBankTransfers(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: BankTransfers;
    }>;
    /**
     *
     * @summary Allows you to retrieve history from a Batch Payment
     * @param xeroTenantId Xero identifier for Tenant
     * @param batchPaymentID Unique identifier for BatchPayment
     */
    getBatchPaymentHistory(xeroTenantId: string, batchPaymentID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Retrieve either one or many BatchPayments for invoices
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     */
    getBatchPayments(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: BatchPayments;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specific BrandingThemes
     * @param xeroTenantId Xero identifier for Tenant
     * @param brandingThemeID Unique identifier for a Branding Theme
     */
    getBrandingTheme(xeroTenantId: string, brandingThemeID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: BrandingThemes;
    }>;
    /**
     *
     * @summary Allows you to retrieve the Payment services for a Branding Theme
     * @param xeroTenantId Xero identifier for Tenant
     * @param brandingThemeID Unique identifier for a Branding Theme
     */
    getBrandingThemePaymentServices(xeroTenantId: string, brandingThemeID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: PaymentServices;
    }>;
    /**
     *
     * @summary Allows you to retrieve all the BrandingThemes
     * @param xeroTenantId Xero identifier for Tenant
     */
    getBrandingThemes(xeroTenantId: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: BrandingThemes;
    }>;
    /**
     *
     * @summary Allows you to retrieve, add and update contacts in a Xero organisation
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactID Unique identifier for a Contact
     */
    getContact(xeroTenantId: string, contactID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Contacts;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments on Contacts by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactID Unique identifier for a Contact
     * @param fileName Name for the file you are attaching
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getContactAttachmentByFileName(xeroTenantId: string, contactID: string, fileName: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments on Contacts
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactID Unique identifier for a Contact
     * @param attachmentID Unique identifier for a Attachment
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getContactAttachmentById(xeroTenantId: string, contactID: string, attachmentID: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve, add and update contacts in a Xero organisation
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactID Unique identifier for a Contact
     */
    getContactAttachments(xeroTenantId: string, contactID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to retrieve CISSettings for a contact in a Xero organisation
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactID Unique identifier for a Contact
     */
    getContactCISSettings(xeroTenantId: string, contactID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: CISSettings;
    }>;
    /**
     *
     * @summary Allows you to retrieve a unique Contract Group by ID
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactGroupID Unique identifier for a Contact Group
     */
    getContactGroup(xeroTenantId: string, contactGroupID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ContactGroups;
    }>;
    /**
     *
     * @summary Allows you to retrieve the ContactID and Name of all the contacts in a contact group
     * @param xeroTenantId Xero identifier for Tenant
     * @param where Filter by an any element
     * @param order Order by an any element
     */
    getContactGroups(xeroTenantId: string, where?: string, order?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ContactGroups;
    }>;
    /**
     *
     * @summary Allows you to retrieve a history records of an Contact
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactID Unique identifier for a Contact
     */
    getContactHistory(xeroTenantId: string, contactID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve, add and update contacts in a Xero organisation
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     * @param iDs Filter by a comma separated list of ContactIDs. Allows you to retrieve a specific set of contacts in a single call.
     * @param page e.g. page&#x3D;1 - Up to 100 contacts will be returned in a single API call.
     * @param includeArchived e.g. includeArchived&#x3D;true - Contacts with a status of ARCHIVED will be included in the response
     */
    getContacts(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, iDs?: Array<string>, page?: number, includeArchived?: boolean, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Contacts;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specific credit note
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNoteID Unique identifier for a Credit Note
     */
    getCreditNote(xeroTenantId: string, creditNoteID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: CreditNotes;
    }>;
    /**
     *
     * @summary Allows you to retrieve Credit Note as PDF files
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNoteID Unique identifier for a Credit Note
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getCreditNoteAsPdf(xeroTenantId: string, creditNoteID: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments on CreditNote by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNoteID Unique identifier for a Credit Note
     * @param fileName Name of the file you are attaching to Credit Note
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getCreditNoteAttachmentByFileName(xeroTenantId: string, creditNoteID: string, fileName: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments on CreditNote
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNoteID Unique identifier for a Credit Note
     * @param attachmentID Unique identifier for a Attachment
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getCreditNoteAttachmentById(xeroTenantId: string, creditNoteID: string, attachmentID: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments for credit notes
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNoteID Unique identifier for a Credit Note
     */
    getCreditNoteAttachments(xeroTenantId: string, creditNoteID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to retrieve a history records of an CreditNote
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNoteID Unique identifier for a Credit Note
     */
    getCreditNoteHistory(xeroTenantId: string, creditNoteID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve any credit notes
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     * @param page e.g. page&#x3D;1 – Up to 100 credit notes will be returned in a single API call with line items shown for each credit note
     */
    getCreditNotes(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, page?: number, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: CreditNotes;
    }>;
    /**
     *
     * @summary Allows you to retrieve currencies for your organisation
     * @param xeroTenantId Xero identifier for Tenant
     * @param where Filter by an any element
     * @param order Order by an any element
     */
    getCurrencies(xeroTenantId: string, where?: string, order?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Currencies;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specific employee used in Xero payrun
     * @param xeroTenantId Xero identifier for Tenant
     * @param employeeID Unique identifier for a Employee
     */
    getEmployee(xeroTenantId: string, employeeID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Employees;
    }>;
    /**
     *
     * @summary Allows you to retrieve employees used in Xero payrun
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     */
    getEmployees(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Employees;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified expense claim
     * @param xeroTenantId Xero identifier for Tenant
     * @param expenseClaimID Unique identifier for a ExpenseClaim
     */
    getExpenseClaim(xeroTenantId: string, expenseClaimID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ExpenseClaims;
    }>;
    /**
     *
     * @summary Allows you to retrieve a history records of an ExpenseClaim
     * @param xeroTenantId Xero identifier for Tenant
     * @param expenseClaimID Unique identifier for a ExpenseClaim
     */
    getExpenseClaimHistory(xeroTenantId: string, expenseClaimID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve expense claims
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     */
    getExpenseClaims(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ExpenseClaims;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified sales invoice or purchase bill
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoiceID Unique identifier for an Invoice
     */
    getInvoice(xeroTenantId: string, invoiceID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Invoices;
    }>;
    /**
     *
     * @summary Allows you to retrieve invoices or purchase bills as PDF files
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoiceID Unique identifier for an Invoice
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getInvoiceAsPdf(xeroTenantId: string, invoiceID: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachment on invoices or purchase bills by it\'s filename
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoiceID Unique identifier for an Invoice
     * @param fileName Name of the file you are attaching
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getInvoiceAttachmentByFileName(xeroTenantId: string, invoiceID: string, fileName: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified Attachment on invoices or purchase bills by it\'s ID
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoiceID Unique identifier for an Invoice
     * @param attachmentID Unique identifier for an Attachment
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getInvoiceAttachmentById(xeroTenantId: string, invoiceID: string, attachmentID: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments on invoices or purchase bills
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoiceID Unique identifier for an Invoice
     */
    getInvoiceAttachments(xeroTenantId: string, invoiceID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to retrieve a history records of an invoice
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoiceID Unique identifier for an Invoice
     */
    getInvoiceHistory(xeroTenantId: string, invoiceID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve invoice reminder settings
     * @param xeroTenantId Xero identifier for Tenant
     */
    getInvoiceReminders(xeroTenantId: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: InvoiceReminders;
    }>;
    /**
     *
     * @summary Allows you to retrieve any sales invoices or purchase bills
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     * @param iDs Filter by a comma-separated list of InvoicesIDs. For faster response times we recommend using these explicit parameters instead of passing OR conditions into the Where filter.
     * @param invoiceNumbers Filter by a comma-separated list of InvoiceNumbers. For faster response times we recommend using these explicit parameters instead of passing OR conditions into the Where filter.
     * @param contactIDs Filter by a comma-separated list of ContactIDs. For faster response times we recommend using these explicit parameters instead of passing OR conditions into the Where filter.
     * @param statuses Filter by a comma-separated list Statuses. For faster response times we recommend using these explicit parameters instead of passing OR conditions into the Where filter.
     * @param page e.g. page&#x3D;1 – Up to 100 invoices will be returned in a single API call with line items shown for each invoice
     * @param includeArchived e.g. includeArchived&#x3D;true - Contacts with a status of ARCHIVED will be included in the response
     * @param createdByMyApp When set to true you\&#39;ll only retrieve Invoices created by your app
     * @param unitdp e.g. unitdp&#x3D;4 – You can opt in to use four decimal places for unit amounts
     */
    getInvoices(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, iDs?: Array<string>, invoiceNumbers?: Array<string>, contactIDs?: Array<string>, statuses?: Array<string>, page?: number, includeArchived?: boolean, createdByMyApp?: boolean, unitdp?: number, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Invoices;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified item
     * @param xeroTenantId Xero identifier for Tenant
     * @param itemID Unique identifier for an Item
     */
    getItem(xeroTenantId: string, itemID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Items;
    }>;
    /**
     *
     * @summary Allows you to retrieve history for items
     * @param xeroTenantId Xero identifier for Tenant
     * @param itemID Unique identifier for an Item
     */
    getItemHistory(xeroTenantId: string, itemID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve any items
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     * @param unitdp e.g. unitdp&#x3D;4 – You can opt in to use four decimal places for unit amounts
     */
    getItems(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, unitdp?: number, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Items;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified journals.
     * @param xeroTenantId Xero identifier for Tenant
     * @param journalID Unique identifier for a Journal
     */
    getJournal(xeroTenantId: string, journalID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Journals;
    }>;
    /**
     *
     * @summary Allows you to retrieve any journals.
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param offset Offset by a specified journal number. e.g. journals with a JournalNumber greater than the offset will be returned
     * @param paymentsOnly Filter to retrieve journals on a cash basis. Journals are returned on an accrual basis by default.
     */
    getJournals(xeroTenantId: string, ifModifiedSince?: Date, offset?: number, paymentsOnly?: boolean, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Journals;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified linked transactions (billable expenses)
     * @param xeroTenantId Xero identifier for Tenant
     * @param linkedTransactionID Unique identifier for a LinkedTransaction
     */
    getLinkedTransaction(xeroTenantId: string, linkedTransactionID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: LinkedTransactions;
    }>;
    /**
     *
     * @summary Retrieve linked transactions (billable expenses)
     * @param xeroTenantId Xero identifier for Tenant
     * @param page Up to 100 linked transactions will be returned in a single API call. Use the page parameter to specify the page to be returned e.g. page&#x3D;1.
     * @param linkedTransactionID The Xero identifier for an Linked Transaction
     * @param sourceTransactionID Filter by the SourceTransactionID. Get all the linked transactions created from a particular ACCPAY invoice
     * @param contactID Filter by the ContactID. Get all the linked transactions that have been assigned to a particular customer.
     * @param status Filter by the combination of ContactID and Status. Get all the linked transactions that have been assigned to a particular customer and have a particular status e.g. GET /LinkedTransactions?ContactID&#x3D;4bb34b03-3378-4bb2-a0ed-6345abf3224e&amp;Status&#x3D;APPROVED.
     * @param targetTransactionID Filter by the TargetTransactionID. Get all the linked transactions allocated to a particular ACCREC invoice
     */
    getLinkedTransactions(xeroTenantId: string, page?: number, linkedTransactionID?: string, sourceTransactionID?: string, contactID?: string, status?: string, targetTransactionID?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: LinkedTransactions;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified manual journals
     * @param xeroTenantId Xero identifier for Tenant
     * @param manualJournalID Unique identifier for a ManualJournal
     */
    getManualJournal(xeroTenantId: string, manualJournalID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ManualJournals;
    }>;
    /**
     *
     * @summary Allows you to retrieve specified Attachment on ManualJournal by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param manualJournalID Unique identifier for a ManualJournal
     * @param fileName The name of the file being attached to a ManualJournal
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getManualJournalAttachmentByFileName(xeroTenantId: string, manualJournalID: string, fileName: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve specified Attachment on ManualJournals
     * @param xeroTenantId Xero identifier for Tenant
     * @param manualJournalID Unique identifier for a ManualJournal
     * @param attachmentID Unique identifier for a Attachment
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getManualJournalAttachmentById(xeroTenantId: string, manualJournalID: string, attachmentID: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachment for manual journals
     * @param xeroTenantId Xero identifier for Tenant
     * @param manualJournalID Unique identifier for a ManualJournal
     */
    getManualJournalAttachments(xeroTenantId: string, manualJournalID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to retrieve any manual journals
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     * @param page e.g. page&#x3D;1 – Up to 100 manual journals will be returned in a single API call with line items shown for each overpayment
     */
    getManualJournals(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, page?: number, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ManualJournals;
    }>;
    /**
     *
     * @summary Allows you to retrieve a URL to an online invoice
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoiceID Unique identifier for an Invoice
     */
    getOnlineInvoice(xeroTenantId: string, invoiceID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: OnlineInvoices;
    }>;
    /**
     *
     * @summary Allows you To verify if an organisation is using contruction industry scheme, you can retrieve the CIS settings for the organistaion.
     * @param xeroTenantId Xero identifier for Tenant
     * @param organisationID
     */
    getOrganisationCISSettings(xeroTenantId: string, organisationID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: CISOrgSetting;
    }>;
    /**
     *
     * @summary Allows you to retrieve Organisation details
     * @param xeroTenantId Xero identifier for Tenant
     */
    getOrganisations(xeroTenantId: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Organisations;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified overpayments
     * @param xeroTenantId Xero identifier for Tenant
     * @param overpaymentID Unique identifier for a Overpayment
     */
    getOverpayment(xeroTenantId: string, overpaymentID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Overpayments;
    }>;
    /**
     *
     * @summary Allows you to retrieve a history records of an Overpayment
     * @param xeroTenantId Xero identifier for Tenant
     * @param overpaymentID Unique identifier for a Overpayment
     */
    getOverpaymentHistory(xeroTenantId: string, overpaymentID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve overpayments
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     * @param page e.g. page&#x3D;1 – Up to 100 overpayments will be returned in a single API call with line items shown for each overpayment
     * @param unitdp e.g. unitdp&#x3D;4 – You can opt in to use four decimal places for unit amounts
     */
    getOverpayments(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, page?: number, unitdp?: number, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Overpayments;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified payment for invoices and credit notes
     * @param xeroTenantId Xero identifier for Tenant
     * @param paymentID Unique identifier for a Payment
     */
    getPayment(xeroTenantId: string, paymentID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Payments;
    }>;
    /**
     *
     * @summary Allows you to retrieve history records of a payment
     * @param xeroTenantId Xero identifier for Tenant
     * @param paymentID Unique identifier for a Payment
     */
    getPaymentHistory(xeroTenantId: string, paymentID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve payment services
     * @param xeroTenantId Xero identifier for Tenant
     */
    getPaymentServices(xeroTenantId: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: PaymentServices;
    }>;
    /**
     *
     * @summary Allows you to retrieve payments for invoices and credit notes
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     */
    getPayments(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Payments;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified prepayments
     * @param xeroTenantId Xero identifier for Tenant
     * @param prepaymentID Unique identifier for a PrePayment
     */
    getPrepayment(xeroTenantId: string, prepaymentID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Prepayments;
    }>;
    /**
     *
     * @summary Allows you to retrieve a history records of an Prepayment
     * @param xeroTenantId Xero identifier for Tenant
     * @param prepaymentID Unique identifier for a PrePayment
     */
    getPrepaymentHistory(xeroTenantId: string, prepaymentID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve prepayments
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     * @param page e.g. page&#x3D;1 – Up to 100 prepayments will be returned in a single API call with line items shown for each overpayment
     * @param unitdp e.g. unitdp&#x3D;4 – You can opt in to use four decimal places for unit amounts
     */
    getPrepayments(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, page?: number, unitdp?: number, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Prepayments;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified purchase orders
     * @param xeroTenantId Xero identifier for Tenant
     * @param purchaseOrderID Unique identifier for a PurchaseOrder
     */
    getPurchaseOrder(xeroTenantId: string, purchaseOrderID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: PurchaseOrders;
    }>;
    /**
     *
     * @summary Allows you to retrieve history for PurchaseOrder
     * @param xeroTenantId Xero identifier for Tenant
     * @param purchaseOrderID Unique identifier for a PurchaseOrder
     */
    getPurchaseOrderHistory(xeroTenantId: string, purchaseOrderID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve purchase orders
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param status Filter by purchase order status
     * @param dateFrom Filter by purchase order date (e.g. GET https://.../PurchaseOrders?DateFrom&#x3D;2015-12-01&amp;DateTo&#x3D;2015-12-31
     * @param dateTo Filter by purchase order date (e.g. GET https://.../PurchaseOrders?DateFrom&#x3D;2015-12-01&amp;DateTo&#x3D;2015-12-31
     * @param order Order by an any element
     * @param page To specify a page, append the page parameter to the URL e.g. ?page&#x3D;1. If there are 100 records in the response you will need to check if there is any more data by fetching the next page e.g ?page&#x3D;2 and continuing this process until no more results are returned.
     */
    getPurchaseOrders(xeroTenantId: string, ifModifiedSince?: Date, status?: 'DRAFT' | 'SUBMITTED' | 'AUTHORISED' | 'BILLED' | 'DELETED', dateFrom?: string, dateTo?: string, order?: string, page?: number, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: PurchaseOrders;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified quote
     * @param xeroTenantId Xero identifier for Tenant
     * @param quoteID Unique identifier for an Quote
     */
    getQuote(xeroTenantId: string, quoteID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Quotes;
    }>;
    /**
     *
     * @summary Allows you to retrieve any sales quotes
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param dateFrom Filter for quotes after a particular date
     * @param dateTo Filter for quotes before a particular date
     * @param expiryDateFrom Filter for quotes expiring after a particular date
     * @param expiryDateTo Filter for quotes before a particular date
     * @param contactID Filter for quotes belonging to a particular contact
     * @param status Filter for quotes of a particular Status
     * @param page e.g. page&#x3D;1 – Up to 100 Quotes will be returned in a single API call with line items shown for each quote
     * @param order Order by an any element
     */
    getQuotes(xeroTenantId: string, ifModifiedSince?: Date, dateFrom?: string, dateTo?: string, expiryDateFrom?: string, expiryDateTo?: string, contactID?: string, status?: string, page?: number, order?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Quotes;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified draft expense claim receipts
     * @param xeroTenantId Xero identifier for Tenant
     * @param receiptID Unique identifier for a Receipt
     */
    getReceipt(xeroTenantId: string, receiptID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Receipts;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments on expense claim receipts by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param receiptID Unique identifier for a Receipt
     * @param fileName The name of the file being attached to the Receipt
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getReceiptAttachmentByFileName(xeroTenantId: string, receiptID: string, fileName: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments on expense claim receipts by ID
     * @param xeroTenantId Xero identifier for Tenant
     * @param receiptID Unique identifier for a Receipt
     * @param attachmentID Unique identifier for a Attachment
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getReceiptAttachmentById(xeroTenantId: string, receiptID: string, attachmentID: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments for expense claim receipts
     * @param xeroTenantId Xero identifier for Tenant
     * @param receiptID Unique identifier for a Receipt
     */
    getReceiptAttachments(xeroTenantId: string, receiptID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to retrieve a history records of an Receipt
     * @param xeroTenantId Xero identifier for Tenant
     * @param receiptID Unique identifier for a Receipt
     */
    getReceiptHistory(xeroTenantId: string, receiptID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve draft expense claim receipts for any user
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     * @param unitdp e.g. unitdp&#x3D;4 – You can opt in to use four decimal places for unit amounts
     */
    getReceipts(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, unitdp?: number, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Receipts;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified repeating invoice
     * @param xeroTenantId Xero identifier for Tenant
     * @param repeatingInvoiceID Unique identifier for a Repeating Invoice
     */
    getRepeatingInvoice(xeroTenantId: string, repeatingInvoiceID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: RepeatingInvoices;
    }>;
    /**
     *
     * @summary Allows you to retrieve specified attachment on repeating invoices by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param repeatingInvoiceID Unique identifier for a Repeating Invoice
     * @param fileName The name of the file being attached to a Repeating Invoice
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getRepeatingInvoiceAttachmentByFileName(xeroTenantId: string, repeatingInvoiceID: string, fileName: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified Attachments on repeating invoices
     * @param xeroTenantId Xero identifier for Tenant
     * @param repeatingInvoiceID Unique identifier for a Repeating Invoice
     * @param attachmentID Unique identifier for a Attachment
     * @param contentType The mime type of the attachment file you are retrieving i.e image/jpg, application/pdf
     */
    getRepeatingInvoiceAttachmentById(xeroTenantId: string, repeatingInvoiceID: string, attachmentID: string, contentType: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Buffer;
    }>;
    /**
     *
     * @summary Allows you to retrieve Attachments on repeating invoice
     * @param xeroTenantId Xero identifier for Tenant
     * @param repeatingInvoiceID Unique identifier for a Repeating Invoice
     */
    getRepeatingInvoiceAttachments(xeroTenantId: string, repeatingInvoiceID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to retrieve history for a repeating invoice
     * @param xeroTenantId Xero identifier for Tenant
     * @param repeatingInvoiceID Unique identifier for a Repeating Invoice
     */
    getRepeatingInvoiceHistory(xeroTenantId: string, repeatingInvoiceID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: HistoryRecords;
    }>;
    /**
     *
     * @summary Allows you to retrieve any repeating invoices
     * @param xeroTenantId Xero identifier for Tenant
     * @param where Filter by an any element
     * @param order Order by an any element
     */
    getRepeatingInvoices(xeroTenantId: string, where?: string, order?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: RepeatingInvoices;
    }>;
    /**
     *
     * @summary Allows you to retrieve report for AgedPayablesByContact
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactId Unique identifier for a Contact
     * @param date The date of the Aged Payables By Contact report
     * @param fromDate The from date of the Aged Payables By Contact report
     * @param toDate The to date of the Aged Payables By Contact report
     */
    getReportAgedPayablesByContact(xeroTenantId: string, contactId: string, date?: string, fromDate?: string, toDate?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ReportWithRows;
    }>;
    /**
     *
     * @summary Allows you to retrieve report for AgedReceivablesByContact
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactId Unique identifier for a Contact
     * @param date The date of the Aged Receivables By Contact report
     * @param fromDate The from date of the Aged Receivables By Contact report
     * @param toDate The to date of the Aged Receivables By Contact report
     */
    getReportAgedReceivablesByContact(xeroTenantId: string, contactId: string, date?: string, fromDate?: string, toDate?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ReportWithRows;
    }>;
    /**
     *
     * @summary Allows you to retrieve report for BAS only valid for AU orgs
     * @param xeroTenantId Xero identifier for Tenant
     * @param reportID Unique identifier for a Report
     */
    getReportBASorGST(xeroTenantId: string, reportID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ReportWithRows;
    }>;
    /**
     *
     * @summary Allows you to retrieve report for BAS only valid for AU orgs
     * @param xeroTenantId Xero identifier for Tenant
     */
    getReportBASorGSTList(xeroTenantId: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ReportWithRows;
    }>;
    /**
     *
     * @summary Allows you to retrieve report for BalanceSheet
     * @param xeroTenantId Xero identifier for Tenant
     * @param date The date of the Balance Sheet report
     * @param periods The number of periods for the Balance Sheet report
     * @param timeframe The period size to compare to (MONTH, QUARTER, YEAR)
     * @param trackingOptionID1 The tracking option 1 for the Balance Sheet report
     * @param trackingOptionID2 The tracking option 2 for the Balance Sheet report
     * @param standardLayout The standard layout boolean for the Balance Sheet report
     * @param paymentsOnly return a cash basis for the Balance Sheet report
     */
    getReportBalanceSheet(xeroTenantId: string, date?: string, periods?: number, timeframe?: 'MONTH' | 'QUARTER' | 'YEAR', trackingOptionID1?: string, trackingOptionID2?: string, standardLayout?: boolean, paymentsOnly?: boolean, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ReportWithRows;
    }>;
    /**
     *
     * @summary Allows you to retrieve report for BankSummary
     * @param xeroTenantId Xero identifier for Tenant
     * @param date The date for the Bank Summary report e.g. 2018-03-31
     * @param period The number of periods to compare (integer between 1 and 12)
     * @param timeframe The period size to compare to (1&#x3D;month, 3&#x3D;quarter, 12&#x3D;year)
     */
    getReportBankSummary(xeroTenantId: string, date?: string, period?: number, timeframe?: number, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ReportWithRows;
    }>;
    /**
     *
     * @summary Allows you to retrieve report for Budget Summary
     * @param xeroTenantId Xero identifier for Tenant
     * @param date The date for the Bank Summary report e.g. 2018-03-31
     * @param period The number of periods to compare (integer between 1 and 12)
     * @param timeframe The period size to compare to (1&#x3D;month, 3&#x3D;quarter, 12&#x3D;year)
     */
    getReportBudgetSummary(xeroTenantId: string, date?: string, period?: number, timeframe?: number, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ReportWithRows;
    }>;
    /**
     *
     * @summary Allows you to retrieve report for ExecutiveSummary
     * @param xeroTenantId Xero identifier for Tenant
     * @param date The date for the Bank Summary report e.g. 2018-03-31
     */
    getReportExecutiveSummary(xeroTenantId: string, date?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ReportWithRows;
    }>;
    /**
     *
     * @summary Allows you to retrieve report for ProfitAndLoss
     * @param xeroTenantId Xero identifier for Tenant
     * @param fromDate The from date for the ProfitAndLoss report e.g. 2018-03-31
     * @param toDate The to date for the ProfitAndLoss report e.g. 2018-03-31
     * @param periods The number of periods to compare (integer between 1 and 12)
     * @param timeframe The period size to compare to (MONTH, QUARTER, YEAR)
     * @param trackingCategoryID The trackingCategory 1 for the ProfitAndLoss report
     * @param trackingCategoryID2 The trackingCategory 2 for the ProfitAndLoss report
     * @param trackingOptionID The tracking option 1 for the ProfitAndLoss report
     * @param trackingOptionID2 The tracking option 2 for the ProfitAndLoss report
     * @param standardLayout Return the standard layout for the ProfitAndLoss report
     * @param paymentsOnly Return cash only basis for the ProfitAndLoss report
     */
    getReportProfitAndLoss(xeroTenantId: string, fromDate?: string, toDate?: string, periods?: number, timeframe?: 'MONTH' | 'QUARTER' | 'YEAR', trackingCategoryID?: string, trackingCategoryID2?: string, trackingOptionID?: string, trackingOptionID2?: string, standardLayout?: boolean, paymentsOnly?: boolean, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ReportWithRows;
    }>;
    /**
     *
     * @summary Allows you to retrieve report for TenNinetyNine
     * @param xeroTenantId Xero identifier for Tenant
     * @param reportYear The year of the 1099 report
     */
    getReportTenNinetyNine(xeroTenantId: string, reportYear?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Reports;
    }>;
    /**
     *
     * @summary Allows you to retrieve report for TrialBalance
     * @param xeroTenantId Xero identifier for Tenant
     * @param date The date for the Trial Balance report e.g. 2018-03-31
     * @param paymentsOnly Return cash only basis for the Trial Balance report
     */
    getReportTrialBalance(xeroTenantId: string, date?: string, paymentsOnly?: boolean, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ReportWithRows;
    }>;
    /**
     *
     * @summary Allows you to retrieve Tax Rates
     * @param xeroTenantId Xero identifier for Tenant
     * @param where Filter by an any element
     * @param order Order by an any element
     * @param taxType Filter by tax type
     */
    getTaxRates(xeroTenantId: string, where?: string, order?: string, taxType?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: TaxRates;
    }>;
    /**
     *
     * @summary Allows you to retrieve tracking categories and options
     * @param xeroTenantId Xero identifier for Tenant
     * @param where Filter by an any element
     * @param order Order by an any element
     * @param includeArchived e.g. includeArchived&#x3D;true - Categories and options with a status of ARCHIVED will be included in the response
     */
    getTrackingCategories(xeroTenantId: string, where?: string, order?: string, includeArchived?: boolean, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: TrackingCategories;
    }>;
    /**
     *
     * @summary Allows you to retrieve tracking categories and options for specified category
     * @param xeroTenantId Xero identifier for Tenant
     * @param trackingCategoryID Unique identifier for a TrackingCategory
     */
    getTrackingCategory(xeroTenantId: string, trackingCategoryID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: TrackingCategories;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified user
     * @param xeroTenantId Xero identifier for Tenant
     * @param userID Unique identifier for a User
     */
    getUser(xeroTenantId: string, userID: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Users;
    }>;
    /**
     *
     * @summary Allows you to retrieve users
     * @param xeroTenantId Xero identifier for Tenant
     * @param ifModifiedSince Only records created or modified since this timestamp will be returned
     * @param where Filter by an any element
     * @param order Order by an any element
     */
    getUsers(xeroTenantId: string, ifModifiedSince?: Date, where?: string, order?: string, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Users;
    }>;
    /**
     *
     * @summary Allows you to update a chart of accounts
     * @param xeroTenantId Xero identifier for Tenant
     * @param accountID Unique identifier for retrieving single object
     * @param accounts Request of type Accounts array with one Account
     */
    updateAccount(xeroTenantId: string, accountID: string, accounts: Accounts, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Accounts;
    }>;
    /**
     *
     * @summary Allows you to update Attachment on Account by Filename
     * @param xeroTenantId Xero identifier for Tenant
     * @param accountID Unique identifier for Account object
     * @param fileName Name of the attachment
     * @param body Byte array of file in body of request
     */
    updateAccountAttachmentByFileName(xeroTenantId: string, accountID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to update a single spend or receive money transaction
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransactionID Xero generated unique identifier for a bank transaction
     * @param bankTransactions
     */
    updateBankTransaction(xeroTenantId: string, bankTransactionID: string, bankTransactions: BankTransactions, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: BankTransactions;
    }>;
    /**
     *
     * @summary Allows you to update an Attachment on BankTransaction by Filename
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransactionID Xero generated unique identifier for a bank transaction
     * @param fileName The name of the file being attached
     * @param body Byte array of file in body of request
     */
    updateBankTransactionAttachmentByFileName(xeroTenantId: string, bankTransactionID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @param xeroTenantId Xero identifier for Tenant
     * @param bankTransferID Xero generated unique identifier for a bank transfer
     * @param fileName The name of the file being attached to a Bank Transfer
     * @param body Byte array of file in body of request
     */
    updateBankTransferAttachmentByFileName(xeroTenantId: string, bankTransferID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactID Unique identifier for a Contact
     * @param contacts an array of Contacts containing single Contact object with properties to update
     */
    updateContact(xeroTenantId: string, contactID: string, contacts: Contacts, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Contacts;
    }>;
    /**
     *
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactID Unique identifier for a Contact
     * @param fileName Name for the file you are attaching
     * @param body Byte array of file in body of request
     */
    updateContactAttachmentByFileName(xeroTenantId: string, contactID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to update a Contract Group
     * @param xeroTenantId Xero identifier for Tenant
     * @param contactGroupID Unique identifier for a Contact Group
     * @param contactGroups an array of Contact groups with Name of specific group to update
     */
    updateContactGroup(xeroTenantId: string, contactGroupID: string, contactGroups: ContactGroups, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ContactGroups;
    }>;
    /**
     *
     * @summary Allows you to update a specific credit note
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNoteID Unique identifier for a Credit Note
     * @param creditNotes an array of Credit Notes containing credit note details to update
     */
    updateCreditNote(xeroTenantId: string, creditNoteID: string, creditNotes: CreditNotes, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: CreditNotes;
    }>;
    /**
     *
     * @summary Allows you to update Attachments on CreditNote by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param creditNoteID Unique identifier for a Credit Note
     * @param fileName Name of the file you are attaching to Credit Note
     * @param body Byte array of file in body of request
     */
    updateCreditNoteAttachmentByFileName(xeroTenantId: string, creditNoteID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to update a specific employee used in Xero payrun
     * @param xeroTenantId Xero identifier for Tenant
     * @param employeeID Unique identifier for a Employee
     * @param employees
     */
    updateEmployee(xeroTenantId: string, employeeID: string, employees: Employees, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Employees;
    }>;
    /**
     *
     * @summary Allows you to update specified expense claims
     * @param xeroTenantId Xero identifier for Tenant
     * @param expenseClaimID Unique identifier for a ExpenseClaim
     * @param expenseClaims
     */
    updateExpenseClaim(xeroTenantId: string, expenseClaimID: string, expenseClaims: ExpenseClaims, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ExpenseClaims;
    }>;
    /**
     *
     * @summary Allows you to update a specified sales invoices or purchase bills
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoiceID Unique identifier for an Invoice
     * @param invoices
     */
    updateInvoice(xeroTenantId: string, invoiceID: string, invoices: Invoices, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Invoices;
    }>;
    /**
     *
     * @summary Allows you to update Attachment on invoices or purchase bills by it\'s filename
     * @param xeroTenantId Xero identifier for Tenant
     * @param invoiceID Unique identifier for an Invoice
     * @param fileName Name of the file you are attaching
     * @param body Byte array of file in body of request
     */
    updateInvoiceAttachmentByFileName(xeroTenantId: string, invoiceID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to udpate a specified item
     * @param xeroTenantId Xero identifier for Tenant
     * @param itemID Unique identifier for an Item
     * @param items
     */
    updateItem(xeroTenantId: string, itemID: string, items: Items, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Items;
    }>;
    /**
     *
     * @summary Allows you to update a specified linked transactions (billable expenses)
     * @param xeroTenantId Xero identifier for Tenant
     * @param linkedTransactionID Unique identifier for a LinkedTransaction
     * @param linkedTransactions
     */
    updateLinkedTransaction(xeroTenantId: string, linkedTransactionID: string, linkedTransactions: LinkedTransactions, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: LinkedTransactions;
    }>;
    /**
     *
     * @summary Allows you to update a specified manual journal
     * @param xeroTenantId Xero identifier for Tenant
     * @param manualJournalID Unique identifier for a ManualJournal
     * @param manualJournals
     */
    updateManualJournal(xeroTenantId: string, manualJournalID: string, manualJournals: ManualJournals, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: ManualJournals;
    }>;
    /**
     *
     * @summary Allows you to update a specified Attachment on ManualJournal by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param manualJournalID Unique identifier for a ManualJournal
     * @param fileName The name of the file being attached to a ManualJournal
     * @param body Byte array of file in body of request
     */
    updateManualJournalAttachmentByFileName(xeroTenantId: string, manualJournalID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to update a specified purchase order
     * @param xeroTenantId Xero identifier for Tenant
     * @param purchaseOrderID Unique identifier for a PurchaseOrder
     * @param purchaseOrders
     */
    updatePurchaseOrder(xeroTenantId: string, purchaseOrderID: string, purchaseOrders: PurchaseOrders, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: PurchaseOrders;
    }>;
    /**
     *
     * @summary Allows you to retrieve a specified draft expense claim receipts
     * @param xeroTenantId Xero identifier for Tenant
     * @param receiptID Unique identifier for a Receipt
     * @param receipts
     */
    updateReceipt(xeroTenantId: string, receiptID: string, receipts: Receipts, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Receipts;
    }>;
    /**
     *
     * @summary Allows you to update Attachment on expense claim receipts by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param receiptID Unique identifier for a Receipt
     * @param fileName The name of the file being attached to the Receipt
     * @param body Byte array of file in body of request
     */
    updateReceiptAttachmentByFileName(xeroTenantId: string, receiptID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to update specified attachment on repeating invoices by file name
     * @param xeroTenantId Xero identifier for Tenant
     * @param repeatingInvoiceID Unique identifier for a Repeating Invoice
     * @param fileName The name of the file being attached to a Repeating Invoice
     * @param body Byte array of file in body of request
     */
    updateRepeatingInvoiceAttachmentByFileName(xeroTenantId: string, repeatingInvoiceID: string, fileName: string, body: fs.ReadStream, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: Attachments;
    }>;
    /**
     *
     * @summary Allows you to update Tax Rates
     * @param xeroTenantId Xero identifier for Tenant
     * @param taxRates
     */
    updateTaxRate(xeroTenantId: string, taxRates: TaxRates, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: TaxRates;
    }>;
    /**
     *
     * @summary Allows you to update tracking categories
     * @param xeroTenantId Xero identifier for Tenant
     * @param trackingCategoryID Unique identifier for a TrackingCategory
     * @param trackingCategory
     */
    updateTrackingCategory(xeroTenantId: string, trackingCategoryID: string, trackingCategory: TrackingCategory, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: TrackingCategories;
    }>;
    /**
     *
     * @summary Allows you to update options for a specified tracking category
     * @param xeroTenantId Xero identifier for Tenant
     * @param trackingCategoryID Unique identifier for a TrackingCategory
     * @param trackingOptionID Unique identifier for a Tracking Option
     * @param trackingOption
     */
    updateTrackingOptions(xeroTenantId: string, trackingCategoryID: string, trackingOptionID: string, trackingOption: TrackingOption, options?: {
        headers: {
            [name: string]: string;
        };
    }): Promise<{
        response: http.IncomingMessage;
        body: TrackingOptions;
    }>;
}
