/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as environments from "../../../../environments";
import * as core from "../../../../core";
import { AccountDetails } from "../resources/accountDetails/client/Client";
import { AccountToken } from "../resources/accountToken/client/Client";
import { AccountingPeriods } from "../resources/accountingPeriods/client/Client";
import { Accounts } from "../resources/accounts/client/Client";
import { Addresses } from "../resources/addresses/client/Client";
import { AsyncPassthrough } from "../resources/asyncPassthrough/client/Client";
import { Attachments } from "../resources/attachments/client/Client";
import { AuditTrail } from "../resources/auditTrail/client/Client";
import { AvailableActions } from "../resources/availableActions/client/Client";
import { BalanceSheets } from "../resources/balanceSheets/client/Client";
import { CashFlowStatements } from "../resources/cashFlowStatements/client/Client";
import { CompanyInfo } from "../resources/companyInfo/client/Client";
import { Contacts } from "../resources/contacts/client/Client";
import { CreditNotes } from "../resources/creditNotes/client/Client";
import { DeleteAccount } from "../resources/deleteAccount/client/Client";
import { Expenses } from "../resources/expenses/client/Client";
import { GenerateKey } from "../resources/generateKey/client/Client";
import { IncomeStatements } from "../resources/incomeStatements/client/Client";
import { Invoices } from "../resources/invoices/client/Client";
import { Issues } from "../resources/issues/client/Client";
import { Items } from "../resources/items/client/Client";
import { JournalEntries } from "../resources/journalEntries/client/Client";
import { LinkToken } from "../resources/linkToken/client/Client";
import { LinkedAccounts } from "../resources/linkedAccounts/client/Client";
import { Passthrough } from "../resources/passthrough/client/Client";
import { Payments } from "../resources/payments/client/Client";
import { PhoneNumbers } from "../resources/phoneNumbers/client/Client";
import { PurchaseOrders } from "../resources/purchaseOrders/client/Client";
import { RegenerateKey } from "../resources/regenerateKey/client/Client";
import { SelectiveSync } from "../resources/selectiveSync/client/Client";
import { SyncStatus } from "../resources/syncStatus/client/Client";
import { ForceResync } from "../resources/forceResync/client/Client";
import { TaxRates } from "../resources/taxRates/client/Client";
import { TrackingCategories } from "../resources/trackingCategories/client/Client";
import { Transactions } from "../resources/transactions/client/Client";
import { VendorCredits } from "../resources/vendorCredits/client/Client";
import { WebhookReceivers } from "../resources/webhookReceivers/client/Client";
export declare namespace Accounting {
    interface Options {
        environment?: core.Supplier<environments.MergeEnvironment | string>;
        apiKey: core.Supplier<core.BearerToken>;
        accountToken?: core.Supplier<string | undefined>;
    }
    interface RequestOptions {
        timeoutInSeconds?: number;
    }
}
export declare class Accounting {
    protected readonly _options: Accounting.Options;
    constructor(_options: Accounting.Options);
    protected _accountDetails: AccountDetails | undefined;
    get accountDetails(): AccountDetails;
    protected _accountToken: AccountToken | undefined;
    get accountToken(): AccountToken;
    protected _accountingPeriods: AccountingPeriods | undefined;
    get accountingPeriods(): AccountingPeriods;
    protected _accounts: Accounts | undefined;
    get accounts(): Accounts;
    protected _addresses: Addresses | undefined;
    get addresses(): Addresses;
    protected _asyncPassthrough: AsyncPassthrough | undefined;
    get asyncPassthrough(): AsyncPassthrough;
    protected _attachments: Attachments | undefined;
    get attachments(): Attachments;
    protected _auditTrail: AuditTrail | undefined;
    get auditTrail(): AuditTrail;
    protected _availableActions: AvailableActions | undefined;
    get availableActions(): AvailableActions;
    protected _balanceSheets: BalanceSheets | undefined;
    get balanceSheets(): BalanceSheets;
    protected _cashFlowStatements: CashFlowStatements | undefined;
    get cashFlowStatements(): CashFlowStatements;
    protected _companyInfo: CompanyInfo | undefined;
    get companyInfo(): CompanyInfo;
    protected _contacts: Contacts | undefined;
    get contacts(): Contacts;
    protected _creditNotes: CreditNotes | undefined;
    get creditNotes(): CreditNotes;
    protected _deleteAccount: DeleteAccount | undefined;
    get deleteAccount(): DeleteAccount;
    protected _expenses: Expenses | undefined;
    get expenses(): Expenses;
    protected _generateKey: GenerateKey | undefined;
    get generateKey(): GenerateKey;
    protected _incomeStatements: IncomeStatements | undefined;
    get incomeStatements(): IncomeStatements;
    protected _invoices: Invoices | undefined;
    get invoices(): Invoices;
    protected _issues: Issues | undefined;
    get issues(): Issues;
    protected _items: Items | undefined;
    get items(): Items;
    protected _journalEntries: JournalEntries | undefined;
    get journalEntries(): JournalEntries;
    protected _linkToken: LinkToken | undefined;
    get linkToken(): LinkToken;
    protected _linkedAccounts: LinkedAccounts | undefined;
    get linkedAccounts(): LinkedAccounts;
    protected _passthrough: Passthrough | undefined;
    get passthrough(): Passthrough;
    protected _payments: Payments | undefined;
    get payments(): Payments;
    protected _phoneNumbers: PhoneNumbers | undefined;
    get phoneNumbers(): PhoneNumbers;
    protected _purchaseOrders: PurchaseOrders | undefined;
    get purchaseOrders(): PurchaseOrders;
    protected _regenerateKey: RegenerateKey | undefined;
    get regenerateKey(): RegenerateKey;
    protected _selectiveSync: SelectiveSync | undefined;
    get selectiveSync(): SelectiveSync;
    protected _syncStatus: SyncStatus | undefined;
    get syncStatus(): SyncStatus;
    protected _forceResync: ForceResync | undefined;
    get forceResync(): ForceResync;
    protected _taxRates: TaxRates | undefined;
    get taxRates(): TaxRates;
    protected _trackingCategories: TrackingCategories | undefined;
    get trackingCategories(): TrackingCategories;
    protected _transactions: Transactions | undefined;
    get transactions(): Transactions;
    protected _vendorCredits: VendorCredits | undefined;
    get vendorCredits(): VendorCredits;
    protected _webhookReceivers: WebhookReceivers | undefined;
    get webhookReceivers(): WebhookReceivers;
}
