import { TokenGetter } from "../authorization"; type apiType = "agent" | "customer" | "configuration"; type pushCallback = (payload: any) => void; export declare class WebAPI { protected readonly clientID: string; protected readonly tokenGetter: TokenGetter; protected readonly type: apiType; APIURL: string; version: string; author_id?: string; private readonly actionsMethodGet; constructor(clientID: string, tokenGetter: TokenGetter, type: apiType, options?: WebAPIOptions); send(name: string, req: any): Promise; private call; setAuthorId(author_id?: string): void; } export declare class RTMAPI { protected readonly webSocketClass: any; protected tokenGetter: TokenGetter; APIURL: string; version: string; type: apiType; socket?: any; heartbeatInterval?: number; requestsQueue: any; subscribedPushes: Map; author_id?: string; constructor(webSocketClass: any, tokenGetter: TokenGetter, type: apiType, options?: RTMAPIOptions); connect(): Promise; private handleResponse; private handlePush; send(action: string, payload: any): Promise; subscribePush

(push: string, callback: (payload: P) => void): void; unsubscribePush(push: string): void; setAuthorId(author_id?: string): void; } interface WebAPIOptions { apiUrl?: string; } interface RTMAPIOptions { apiUrl?: string; } export {}; //# sourceMappingURL=index.d.ts.map