import { CameraDevice, QrcodeErrorCallback, QrcodeSuccessCallback, Html5QrcodeSupportedFormats, Html5QrcodeResult, QrDimensions } from "./core"; import { ExperimentalFeaturesConfig } from "./experimental-features"; declare type Html5QrcodeIdentifier = string | MediaTrackConstraints; export interface Html5QrcodeConfigs { formatsToSupport?: Array | undefined; experimentalFeatures?: ExperimentalFeaturesConfig | undefined; } export interface Html5QrcodeFullConfig extends Html5QrcodeConfigs { verbose: boolean | undefined; } export interface Html5QrcodeCameraScanConfig { fps: number | undefined; qrbox?: number | QrDimensions | undefined; aspectRatio?: number | undefined; disableFlip?: boolean | undefined; videoConstraints?: MediaTrackConstraints | undefined; } export declare class Html5Qrcode { private elementId; private verbose; private qrcode; private shouldScan; private logger; private element; private canvasElement; private hasBorderShaders; private borderShaders; private qrMatch; private videoElement; private foreverScanTimeout; private localMediaStream; private qrRegion; private context; private lastScanImageFile; isScanning: boolean; constructor(elementId: string, configOrVerbosityFlag: boolean | Html5QrcodeFullConfig | undefined); start(cameraIdOrConfig: Html5QrcodeIdentifier, configuration: Html5QrcodeCameraScanConfig | undefined, qrCodeSuccessCallback: QrcodeSuccessCallback | undefined, qrCodeErrorCallback: QrcodeErrorCallback | undefined): Promise; stop(): Promise; scanFile(imageFile: File, showImage?: boolean): Promise; scanFileV2(imageFile: File, showImage?: boolean): Promise; clear(): void; static getCameras(): Promise>; getRunningTrackCapabilities(): MediaTrackCapabilities; applyVideoConstraints(videoConstaints: MediaTrackConstraints): Promise; private static getCamerasFromMediaDevices; private static getCamerasFromMediaStreamTrack; private getSupportedFormats; private validateQrboxSize; private validateQrboxConfig; private toQrdimensions; private setupUi; private scanContext; private foreverScan; private onMediaStreamReceived; private createVideoConstraints; private computeCanvasDrawConfig; private clearElement; private createVideoElement; private possiblyUpdateShaders; private possiblyCloseLastScanImageFile; private createCanvasElement; private getShadedRegionBounds; private possiblyInsertShadingElement; private insertShaderBorders; private getTimeoutFps; } export {};