import { InitBase, PossibleEventsToSend } from '../interfaces/interfaces';
import { SettingsManager } from '../manager/settings.manager';
export declare abstract class StreamDeckHandlerBase<GlobalSettings = any> {
    protected _sd_events: Function[];
    private _documentReady;
    private _connectionReady;
    private _globalSettingsReady;
    private _documentReadyInvoked;
    private _connectionReadyInvoked;
    private _globalSettingsInvoked;
    private _onReadyInvoked;
    private _debug;
    private _port;
    private _uuid;
    private _registerEvent;
    private _info;
    private _ws;
    private _eventManager;
    private readonly _settingsManager;
    private _cachedEvents;
    protected constructor();
    get port(): InitBase['port'];
    get uuid(): InitBase['uuid'];
    get registerEvent(): InitBase['registerEvent'];
    get info(): InitBase['info'];
    get settingsManager(): SettingsManager;
    get documentReady(): boolean;
    get connectionReady(): boolean;
    get globalSettingsReady(): boolean;
    setSettings<Settings = any>(settings: Settings, context: string): void;
    requestSettings(context: string): void;
    setGlobalSettings<GlobalSettings = any>(settings: GlobalSettings): void;
    requestGlobalSettings(): void;
    openUrl(url: string): void;
    logMessage(message: string): void;
    send(event: PossibleEventsToSend, data: any): void;
    enableDebug(): void;
    private _docReady;
    private _connectElgatoStreamDeckSocket;
    private _open;
    private _handleReadyState;
    protected _eventHandler(ev: MessageEvent): void;
}
