import WebSocket from 'ws';
import { Domain } from './enum';
interface IClientConfig {
    appId: string;
    appSecret: string;
    domain: string | Domain;
}
interface IWSConfig {
    connectUrl: string;
    pingInterval: number;
    reconnectCount: number;
    reconnectInterval: number;
    reconnectNonce: number;
    deviceId: string;
    serviceId: string;
    autoReconnect: boolean;
}
export declare class WSConfig {
    private client;
    private ws;
    private wsInstance;
    constructor();
    updateClient(clientConfig: Partial<IClientConfig>): void;
    updateWs(WSConfig: Partial<IWSConfig>): void;
    getClient(): IClientConfig;
    getClient<T extends keyof IClientConfig>(key: T): IClientConfig[T];
    getWS(): IWSConfig;
    getWS<T extends keyof IWSConfig>(key: T): IWSConfig[T];
    get wsConfigUrl(): string;
    setWSInstance(wsInstance: WebSocket | null): void;
    getWSInstance(): WebSocket | null;
}
export {};
