export interface KioskConnectionOptions {
    url: string;
    kioskId: string;
    onConnectionUpdate?: (isConnected: boolean) => void;
    maxRetries?: number;
    retryDelay?: number;
    debug?: boolean;
}
type EventCallback = (...args: any[]) => void;
export declare class KioskConnection {
    private options;
    private ws;
    private isConnected;
    private eventHandlers;
    private retryCount;
    private retryTimeout;
    private readonly maxRetries;
    private readonly initialRetryDelay;
    private readonly debug;
    private isShuttingDown;
    constructor(options: KioskConnectionOptions);
    private log;
    private logError;
    connect(): void;
    private handleDisconnect;
    disconnect(): Promise<void>;
    private cleanup;
    on(event: string, callback: EventCallback): this;
    private emit;
    isConnectionOpen(): boolean;
}
export {};
//# sourceMappingURL=KioskConnection.d.ts.map