import { AbstractUiComponent } from "./AbstractUiComponent";
import { UiQrCodeScanner_QrCodeDetectedEvent, UiQrCodeScannerCommandHandler, UiQrCodeScannerConfig, UiQrCodeScannerEventSource } from "../generated/UiQrCodeScannerConfig";
import { TeamAppsEvent } from "./util/TeamAppsEvent";
import { TeamAppsUiContext } from "./TeamAppsUiContext";
export declare class UiQrCodeScanner extends AbstractUiComponent<UiQrCodeScannerConfig> implements UiQrCodeScannerCommandHandler, UiQrCodeScannerEventSource {
    readonly onQrCodeDetected: TeamAppsEvent<UiQrCodeScanner_QrCodeDetectedEvent>;
    private $main;
    private $video;
    private $crosshair;
    private qrScanner;
    private selectedCameraIndex;
    constructor(config: UiQrCodeScannerConfig, context: TeamAppsUiContext);
    doGetMainElement(): HTMLElement;
    startScanning(stopScanningAtFirstResult?: boolean): Promise<void>;
    stopScanning(): void;
    switchCamera(): void;
    private getAvailableCameras;
    onResize(): void;
    destroy(): void;
}
