/// <reference types="node-fetch" />
import IConfiguration from './configuration/IConfiguration';
import IDecorator from './services/decorators/IDecorator';
import { IHttpOptions } from './services/http/IHttpOptions';
import type AutomationDiscovery from './discovery/automation/AutomationDiscovery';
import type CmsDiscovery from './discovery/cms/CmsDiscovery';
import type CommunicationPreferencesDiscovery from './discovery/communicationPreferences/CommunicationPreferencesDiscovery';
import type ConversationsDiscovery from './discovery/conversations/ConversationsDiscovery';
import type CrmDiscovery from './discovery/crm/CrmDiscovery';
import type EventsDiscovery from './discovery/events/EventsDiscovery';
import type FilesDiscovery from './discovery/files/FilesDiscovery';
import type MarketingDiscovery from './discovery/marketing/MarketingDiscovery';
import type OauthDiscovery from './discovery/oauth/OauthDiscovery';
import type SettingsDiscovery from './discovery/settings/SettingsDiscovery';
import type WebhooksDiscovery from './discovery/webhooks/WebhooksDiscovery';
export declare class Client {
    config: IConfiguration;
    protected _automation: AutomationDiscovery | undefined;
    protected _cms: CmsDiscovery | undefined;
    protected _communicationPreferences: CommunicationPreferencesDiscovery | undefined;
    protected _conversations: ConversationsDiscovery | undefined;
    protected _crm: CrmDiscovery | undefined;
    protected _events: EventsDiscovery | undefined;
    protected _files: FilesDiscovery | undefined;
    protected _marketing: MarketingDiscovery | undefined;
    protected _oauth: OauthDiscovery | undefined;
    protected _settings: SettingsDiscovery | undefined;
    protected _webhooks: WebhooksDiscovery | undefined;
    constructor(config?: IConfiguration);
    init(): void;
    get automation(): AutomationDiscovery;
    get cms(): CmsDiscovery;
    get communicationPreferences(): CommunicationPreferencesDiscovery;
    get conversations(): ConversationsDiscovery;
    get crm(): CrmDiscovery;
    get events(): EventsDiscovery;
    get files(): FilesDiscovery;
    get marketing(): MarketingDiscovery;
    get oauth(): OauthDiscovery;
    get settings(): SettingsDiscovery;
    get webhooks(): WebhooksDiscovery;
    setAccessToken(token: string): void;
    setApiKey(apiKey: string): void;
    setDeveloperApiKey(developerApiKey: string): void;
    apiRequest(opts?: IHttpOptions): Promise<import("node-fetch").Response>;
    protected getDecorators(): IDecorator[];
}
