import { EventEmitter } from '../../stencil-public-runtime'; import { Webcam } from '../../utils/webcam'; import { CamOrientation } from '../../utils/webcam.types'; import { CamMode } from '../camera-component/types'; declare enum ViewMode { /** Camera is active */ camera = 0, /** Preview of the picture when it has already been taken */ preview = 1 } /** * Camera controller component */ export declare class CameraController { el: HTMLCameraControllerElement; /** Event emitted when snap */ picture: EventEmitter; /** Event emitted when cam is stoped */ webcamStop: EventEmitter; /** Event emitted when back button is pushed */ backButton: EventEmitter; /** If true, allows taking picture from gallery */ allowGallery: boolean; /** If true, stops cam when back button is pushed */ backButtonStopCam: boolean; /** If true, shows image preview when snap */ showPreview: boolean; /** Video element width */ width: number; /** Video element height */ height: number; /** Selected camera * - user: front camera * - environtment: back camera */ orientation: CamOrientation; /** Camera mode */ camMode: CamMode; mode: ViewMode; webcam: Webcam; videoElm: HTMLVideoElement; imageInput: HTMLInputElement; snapshot: string; isCamStarted: boolean; componentDidRender(): void; startWebcam(): void; /** * Stop the webcam * Emits webcamStop event * @returns void */ stopWebcam(): Promise; /** * Switch between front and back cam * @returns void */ flipCam(): Promise; /** * Captures the picture * Emits picture event * @returns void */ takePicture(): Promise; /** * Change the video element size * @param width * @param height * @returns void */ resize(width: number, height: number): Promise; loadImage(): void; handleAcceptPicture(): void; handleRejectPicture(): void; handleBackButton(): void; handleTransformButton(): void; handleOpenGallery(): void; renderImage(): any; renderGalleryButton(): any; renderCamera(): any[]; renderPreview(): any[]; render(): any[]; } export {};