import { BarcodeLinkFlow } from "./BarcodeLinkFlow";
import { BarcodeLinkFlowDelegate } from "./BarcodeLinkFlowDelegate";
import { BarcodeLinkMetricsManager } from "./BarcodeLinkMetricsManager";
import { BarcodeLinkQrCode } from "./BarcodeLinkQrCode";
import { BarcodeLinkRemoteConnectionData } from "./BarcodeLinkRemoteConnectionData";
import { BarcodeLinkUilessFlowSocket } from "./BarcodeLinkUilessFlowSocket";
export declare class BarcodeLinkUilessFlow implements BarcodeLinkFlow<BarcodeLinkQrCode> {
    private Socket;
    private barcodeLinkUrl;
    private socket?;
    private delegate?;
    private socketMessageListener;
    private sessionId?;
    private cwt?;
    private metricsManager;
    private startingTime?;
    constructor(Socket?: new (remoteConnectionData: BarcodeLinkRemoteConnectionData, metricsManager: BarcodeLinkMetricsManager) => BarcodeLinkUilessFlowSocket);
    setDelegate(delegate: BarcodeLinkFlowDelegate): void;
    initialize(): Promise<BarcodeLinkQrCode>;
    dispose(): void;
    private getRemoteConnectionData;
    private getQrCode;
    private onSocketMessage;
    private onAllOthersDisconnected;
    private onCapture;
    private onRemoteScanStarted;
}
