import TypedEmitter from 'typed-emitter';
type MessageEvents = {
    data: (simpleOrProName: string, status: string, data: any) => void;
};
declare const TradingViewWebSocket_base: new () => TypedEmitter<MessageEvents>;
export declare class TradingViewWebSocket extends TradingViewWebSocket_base {
    private static DEFAULT_TIMEOUT;
    private static UNAUTHORIZED_USER_TOKEN;
    private static generateSession;
    private ws;
    private quoteSession;
    private subscriptions;
    connect(): Promise<void>;
    disconnect(): void;
    registerSymbol(symbol: string): Promise<void>;
    unregisterSymbol(symbol: string): Promise<void>;
    private onPacket;
    private setAuthToken;
    private createQuoteSession;
    private setQuoteFields;
    private addQuoteSymbol;
    private removeQuoteSymbol;
    private wsOnMessage;
    private wsSendRaw;
    private wsSend;
    private wsReady;
    private tvSessionReady;
}
export {};
//# sourceMappingURL=TradingViewWebSocket.d.ts.map