import { BarcodeLinkConfiguration } from "./BarcodeLinkConfiguration";
import { BarcodeLinkFlow } from "./BarcodeLinkFlow";
import { BarcodeLinkListBehavior } from "./BarcodeLinkListBehavior";
import { BarcodeLinkListener } from "./BarcodeLinkListener";
import { BarcodeLinkMode } from "./BarcodeLinkMode";
import { BarcodeLinkPlatform } from "./BarcodeLinkPlatform";
export declare class BarcodeLink {
    private configuration;
    private flow?;
    private flowDelegate;
    private listeners;
    private constructor();
    static forLicenseKey(licenseKey: string): BarcodeLink;
    setSymbologies(symbologies: BarcodeLinkConfiguration["symbologies"]): BarcodeLink;
    setBarcodeLinkMode(barcodeLinkMode: BarcodeLinkMode): BarcodeLink;
    setBarcodeRegexValidation(barcodeRegexValidation: RegExp): BarcodeLink;
    setBarcodeTransformations(barcodeTransformations: unknown): BarcodeLink;
    setPlatform(platform: BarcodeLinkPlatform): BarcodeLink;
    setListBehavior(listBehavior: BarcodeLinkListBehavior): BarcodeLink;
    addListener(listener: BarcodeLinkListener): BarcodeLink;
    removeListener(listener: BarcodeLinkListener): BarcodeLink;
    initialize<T>(flow: BarcodeLinkFlow<T>): Promise<T>;
    dispose(): void;
}
