import { Socket } from 'socket.io-client'; import { BarcodeLinkRemoteConnectionData } from './BarcodeLinkRemoteConnectionData'; import { BarcodeLinkMetricsManager } from './BarcodeLinkMetricsManager'; export interface BarcodeLinkHeadlessFlowSocket { onAny(...args: Parameters): void; emit(...args: Parameters): void; connect(...args: Parameters): void; disconnect(...args: Parameters): void; onDisconnect?(): void; onReconnect?(): void; onConnectionFailed?(): void; } export declare class BarcodeLinkHeadlessFlowSocketImpl implements BarcodeLinkHeadlessFlowSocket { private readonly metricsManager; onDisconnect?: () => void; onReconnect?: () => void; onConnectionFailed?: () => void; private get barcodeLinkWsUrl(); private socket; private _didDisconnect; private _reconnectionAttempts; private _maxReconnectionAttempts; constructor(remoteConnectionData: BarcodeLinkRemoteConnectionData, metricsManager: BarcodeLinkMetricsManager); connect(): void; disconnect(): void; emit(ev: string, ...args: any[]): void; onAny(listener: (...args: any[]) => void): void; private onConnect; private internalOnDisconnect; private onConnectError; }