import { FlashMode } from '../../definitions';
import './imagecapture';
export declare class CameraPWA {
  el: any;
  facingMode: string;
  handlePhoto: (photo: Blob) => void;
  hidePicker: boolean;
  handleNoDeviceError: (e?: any) => void;
  noDevicesText: string;
  noDevicesButtonText: string;
  photo: any;
  photoSrc: any;
  showShutterOverlay: boolean;
  flashIndex: number;
  hasCamera: boolean | null;
  rotation: number;
  deviceError: any | null;
  photoOrientation: number;
  exifData: any;
  offscreenCanvas: HTMLCanvasElement;
  defaultConstraints: any;
  stream: MediaStream;
  imageCapture: any;
  videoElement: HTMLVideoElement;
  canvasElement: HTMLCanvasElement;
  hasMultipleCameras: boolean;
  hasFlash: boolean;
  flashModes: FlashMode[];
  flashMode: FlashMode;
  componentDidLoad(): Promise<void>;
  disconnectedCallback(): void;
  hasImageCapture(): boolean;
  /**
   * Query the list of connected devices and figure out how many video inputs we have.
   */
  queryDevices(): Promise<void>;
  initCamera(constraints?: MediaStreamConstraints): Promise<void>;
  initStream(stream: MediaStream): Promise<void>;
  initPhotoCapabilities(imageCapture: any): Promise<void>;
  stopStream(): void;
  capture(): Promise<void>;
  promptAccept(photo: any): Promise<void>;
  private getOrientation;
  rotate(): void;
  setFlashMode(mode: FlashMode): void;
  cycleFlash(): void;
  flashScreen(): Promise<void>;
  handlePickFile: (_e: Event) => void;
  handleShutterClick: (_e: Event) => void;
  handleRotateClick: (_e: Event) => void;
  handleClose: (_e: Event) => void;
  handleFlashClick: (_e: Event) => void;
  handleCancelPhoto: (_e: Event) => void;
  handleAcceptPhoto: (_e: Event) => void;
  handleFileInputChange: (e: InputEvent) => Promise<void>;
  handleVideoMetadata: (e: Event) => void;
  iconExit(): string;
  iconPhotos(): any;
  iconConfirm(): string;
  iconReverseCamera(): string;
  iconRetake(): string;
  iconFlashOff(): string;
  iconFlashOn(): string;
  iconFlashAuto(): string;
  render(): any;
}
