import { TailwindElement } from "./tailwind.element";
export declare class Webcam extends TailwindElement {
    videoEl: HTMLVideoElement;
    width: number;
    height: number;
    facingMode: string;
    mirrored: boolean;
    screenshotArea: string;
    _isUserMedia: boolean;
    _stream: MediaStream | null;
    _screenshotAreaObj: ScreenshotArea;
    _isMounted: boolean;
    connectedCallback(): Promise<void>;
    disconnectedCallback(): Promise<void>;
    requestUserMedia(): Promise<void>;
    preProcessScreenshotArea(): ScreenshotArea;
    stopStream(): void;
    screenshot(): Promise<string>;
    render(): import("lit-html").TemplateResult<1>;
    userMediaError(): import("lit-html").TemplateResult<1>;
    userMedia(): import("lit-html").TemplateResult<1>;
    screenshotOverlay(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        "glair-webcam": Webcam;
    }
}
export interface ScreenshotArea {
    x: number;
    y: number;
    width: number;
    height: number;
    enableOverlay?: boolean;
}
