/// import { EventEmitter } from "events"; import { Channel } from "./channel"; import { Channels } from "./channels"; import { ConnectionManager } from "./connection-manager"; declare enum GusherEvent { ALL = "*", CONNECTED = "connected", DISCONNECTED = "disconnected", RETRY = "retry", RETRYMAX = "retryMax", CLOSED = "closed", ATCLOASED = "@closed", ERROR = "error" } export interface GusherOptions { url: string; token: string; reconnection?: boolean; reconnectionDelay?: number; retryMax?: number; } export declare class Gusher { static Event: typeof GusherEvent; key: string; options: GusherOptions; emitter: EventEmitter; channels: Channels; connection: ConnectionManager; constructor(appKey: string | undefined, options: GusherOptions); unsubscribe(channelName: string): void; getAuthToken(): string; setAuthToken(token: string): void; createConnection(): ConnectionManager; channel(name: string): Channel | undefined; allChannel(): string[]; connect(): void; disconnect(): void; bind(event: string, callback: any): Gusher; unbind(event: string, callback: any): Gusher; subscribe(channelName: string): Channel; subscribes(channels: string[]): { [key: string]: Channel; }; subscribeAll(channels?: string[]): void; send(event: string, data: any, channel?: string | undefined): void; } export {};