/**
 * @description websocket
 * CONNECTING:0 正在链接中
 * OPEN:1 已经链接并且可以通讯
 * CLOSING:2 正在关闭
 * CLOSED:3 已经关闭
 * */
declare abstract class StockManager {
    private socket;
    private isConnect;
    private readonly url;
    private readonly maxReconnectCount;
    private readonly reconnectTime;
    private reconnectCount;
    private reconnectTimer;
    private heartbeatTimer;
    private readonly heartbeatTime;
    private dispatchCenter;
    protected constructor(params: {
        url: string;
    });
    connect(): void;
    openHook(callback: Function): void;
    errorHook(callback: Function): void;
    messageHook(callback: Function): void;
    closeHook(callback: Function): void;
    subscribeEvent(type: string, callback: Function): void;
    dispatchEvent(type: string, data: unknown): void;
    setupOpen(): void;
    setupMessage(): void;
    setupClose(): void;
    setupError(): void;
    heartbeat(): void;
    sendMessage(data: unknown): void;
    dispose(): void;
}
export declare class StockService extends StockManager {
    static instance: StockService;
    constructor(params: {
        url: string;
    });
    static getInstance(params: {
        url: string;
        protocol?: string[] | string;
    }): StockService;
}
export {};
