import { ConfigDesc, OperationResult, TakePhotoOption, Tethr } from './Tethr';
import { TethrObject } from './TethrObject';
export declare class TethrWebcam extends Tethr {
    #private;
    constructor();
    open(): Promise<void>;
    close(): Promise<void>;
    get opened(): boolean;
    get type(): 'webcam';
    get name(): string;
    getCanStartLiveviewDesc(): Promise<ConfigDesc<boolean>>;
    getCanTakePhotoDesc(): Promise<ConfigDesc<boolean>>;
    setFacingMode(value: string): Promise<OperationResult>;
    getFacingModeDesc(): Promise<({
        value: any;
    } & {
        writable: true;
        option: import("./Tethr").ConfigDescOption<any>;
    }) | ({
        value: any;
    } & {
        writable: false;
        option?: import("./Tethr").ConfigDescOption<any> | undefined;
    })>;
    getModelDesc(): Promise<ConfigDesc<string>>;
    getLiveviewDesc(): Promise<({
        value: any;
    } & {
        writable: true;
        option: import("./Tethr").ConfigDescOption<any>;
    }) | ({
        value: any;
    } & {
        writable: false;
        option?: import("./Tethr").ConfigDescOption<any> | undefined;
    })>;
    takePhoto({ doDownload }?: TakePhotoOption): Promise<OperationResult<TethrObject[]>>;
    startLiveview(): Promise<OperationResult<MediaStream>>;
    stopLiveview(): Promise<OperationResult>;
}
