import { BarcodeLinkFlow } from './BarcodeLinkFlow';
import { BarcodeLinkFlowDelegate } from './BarcodeLinkFlowDelegate';
import { BarcodeLinkHeadlessFlowSocket } from './BarcodeLinkHeadlessFlowSocket';
import { BarcodeLinkMetricsManager } from './BarcodeLinkMetricsManager';
import { BarcodeLinkQrCode } from './BarcodeLinkQrCode';
import { BarcodeLinkRemoteConnectionData } from './BarcodeLinkRemoteConnectionData';

export declare class BarcodeLinkHeadlessFlow implements BarcodeLinkFlow<BarcodeLinkQrCode> {
    private Socket;
    private get barcodeLinkUrl();
    private expressUrl;
    private get platformOriginMap();
    private platformPathMap;
    private socket?;
    private delegate?;
    private socketMessageListener;
    private sessionId?;
    private cwt?;
    private metricsManager;
    private startingTime?;
    constructor(Socket?: new (remoteConnectionData: BarcodeLinkRemoteConnectionData, metricsManager: BarcodeLinkMetricsManager) => BarcodeLinkHeadlessFlowSocket);
    setDelegate(delegate: BarcodeLinkFlowDelegate): void;
    initialize(): Promise<BarcodeLinkQrCode>;
    dispose(): void;
    private getRemoteConnectionData;
    private getQrCode;
    private onSocketMessage;
    private onAllOthersDisconnected;
    private onCapture;
    private onRemoteScanStarted;
}
/**
 * @deprecated Use BarcodeLinkHeadlessFlow instead
 */
export declare const BarcodeLinkUilessFlow: typeof BarcodeLinkHeadlessFlow;
