/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as environments from "./environments";
import * as core from "./core";
import { Admins } from "./api/resources/admins/client/Client";
import { Articles } from "./api/resources/articles/client/Client";
import { HelpCenters } from "./api/resources/helpCenters/client/Client";
import { Companies } from "./api/resources/companies/client/Client";
import { Contacts } from "./api/resources/contacts/client/Client";
import { Notes } from "./api/resources/notes/client/Client";
import { Tags } from "./api/resources/tags/client/Client";
import { Conversations } from "./api/resources/conversations/client/Client";
import { DataAttributes } from "./api/resources/dataAttributes/client/Client";
import { Events } from "./api/resources/events/client/Client";
import { DataExport } from "./api/resources/dataExport/client/Client";
import { Messages } from "./api/resources/messages/client/Client";
import { Segments } from "./api/resources/segments/client/Client";
import { SubscriptionTypes } from "./api/resources/subscriptionTypes/client/Client";
import { PhoneCallRedirects } from "./api/resources/phoneCallRedirects/client/Client";
import { Teams } from "./api/resources/teams/client/Client";
import { TicketTypes } from "./api/resources/ticketTypes/client/Client";
import { Tickets } from "./api/resources/tickets/client/Client";
import { Visitors } from "./api/resources/visitors/client/Client";
import { News } from "./api/resources/news/client/Client";
import { Unstable } from "./api/resources/unstable/client/Client";
export declare namespace IntercomClient {
    interface Options {
        environment?: core.Supplier<environments.IntercomEnvironment | string>;
        /** Specify a custom URL to connect the client to. */
        baseUrl?: core.Supplier<string>;
        token?: core.Supplier<core.BearerToken | undefined>;
        /** Override the Intercom-Version header */
        version?: "1.0" | "1.1" | "1.2" | "1.3" | "1.4" | "2.0" | "2.1" | "2.2" | "2.3" | "2.4" | "2.5" | "2.6" | "2.7" | "2.8" | "2.9" | "2.10" | "2.11" | "Unstable";
        fetcher?: core.FetchFunction;
    }
    interface RequestOptions {
        /** The maximum time to wait for a response in seconds. */
        timeoutInSeconds?: number;
        /** The number of times to retry the request. Defaults to 2. */
        maxRetries?: number;
        /** A hook to abort the request. */
        abortSignal?: AbortSignal;
        /** Additional headers to include in the request. */
        headers?: Record<string, string>;
        /** Override the Intercom-Version header */
        version?: "1.0" | "1.1" | "1.2" | "1.3" | "1.4" | "2.0" | "2.1" | "2.2" | "2.3" | "2.4" | "2.5" | "2.6" | "2.7" | "2.8" | "2.9" | "2.10" | "2.11" | "Unstable";
    }
}
export declare class IntercomClient {
    protected readonly _options: IntercomClient.Options;
    protected _admins: Admins | undefined;
    protected _articles: Articles | undefined;
    protected _helpCenters: HelpCenters | undefined;
    protected _companies: Companies | undefined;
    protected _contacts: Contacts | undefined;
    protected _notes: Notes | undefined;
    protected _tags: Tags | undefined;
    protected _conversations: Conversations | undefined;
    protected _dataAttributes: DataAttributes | undefined;
    protected _events: Events | undefined;
    protected _dataExport: DataExport | undefined;
    protected _messages: Messages | undefined;
    protected _segments: Segments | undefined;
    protected _subscriptionTypes: SubscriptionTypes | undefined;
    protected _phoneCallRedirects: PhoneCallRedirects | undefined;
    protected _teams: Teams | undefined;
    protected _ticketTypes: TicketTypes | undefined;
    protected _tickets: Tickets | undefined;
    protected _visitors: Visitors | undefined;
    protected _news: News | undefined;
    protected _unstable: Unstable | undefined;
    constructor(_options?: IntercomClient.Options);
    get admins(): Admins;
    get articles(): Articles;
    get helpCenters(): HelpCenters;
    get companies(): Companies;
    get contacts(): Contacts;
    get notes(): Notes;
    get tags(): Tags;
    get conversations(): Conversations;
    get dataAttributes(): DataAttributes;
    get events(): Events;
    get dataExport(): DataExport;
    get messages(): Messages;
    get segments(): Segments;
    get subscriptionTypes(): SubscriptionTypes;
    get phoneCallRedirects(): PhoneCallRedirects;
    get teams(): Teams;
    get ticketTypes(): TicketTypes;
    get tickets(): Tickets;
    get visitors(): Visitors;
    get news(): News;
    get unstable(): Unstable;
}
