/**
 * 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 { Accounts } from "../resources/accounts/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 { Collections } from "../resources/collections/client/Client";
import { Comments } from "../resources/comments/client/Client";
import { Contacts } from "../resources/contacts/client/Client";
import { DeleteAccount } from "../resources/deleteAccount/client/Client";
import { GenerateKey } from "../resources/generateKey/client/Client";
import { Issues } from "../resources/issues/client/Client";
import { LinkToken } from "../resources/linkToken/client/Client";
import { LinkedAccounts } from "../resources/linkedAccounts/client/Client";
import { Passthrough } from "../resources/passthrough/client/Client";
import { Projects } from "../resources/projects/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 { Tags } from "../resources/tags/client/Client";
import { Teams } from "../resources/teams/client/Client";
import { Tickets } from "../resources/tickets/client/Client";
import { Users } from "../resources/users/client/Client";
import { WebhookReceivers } from "../resources/webhookReceivers/client/Client";
export declare namespace Ticketing {
    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 Ticketing {
    protected readonly _options: Ticketing.Options;
    constructor(_options: Ticketing.Options);
    protected _accountDetails: AccountDetails | undefined;
    get accountDetails(): AccountDetails;
    protected _accountToken: AccountToken | undefined;
    get accountToken(): AccountToken;
    protected _accounts: Accounts | undefined;
    get accounts(): Accounts;
    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 _collections: Collections | undefined;
    get collections(): Collections;
    protected _comments: Comments | undefined;
    get comments(): Comments;
    protected _contacts: Contacts | undefined;
    get contacts(): Contacts;
    protected _deleteAccount: DeleteAccount | undefined;
    get deleteAccount(): DeleteAccount;
    protected _generateKey: GenerateKey | undefined;
    get generateKey(): GenerateKey;
    protected _issues: Issues | undefined;
    get issues(): Issues;
    protected _linkToken: LinkToken | undefined;
    get linkToken(): LinkToken;
    protected _linkedAccounts: LinkedAccounts | undefined;
    get linkedAccounts(): LinkedAccounts;
    protected _passthrough: Passthrough | undefined;
    get passthrough(): Passthrough;
    protected _projects: Projects | undefined;
    get projects(): Projects;
    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 _tags: Tags | undefined;
    get tags(): Tags;
    protected _teams: Teams | undefined;
    get teams(): Teams;
    protected _tickets: Tickets | undefined;
    get tickets(): Tickets;
    protected _users: Users | undefined;
    get users(): Users;
    protected _webhookReceivers: WebhookReceivers | undefined;
    get webhookReceivers(): WebhookReceivers;
}
