import { DeviceManagerState } from './DeviceManagerState';
import { Tracer } from '../stats';
export type CameraDirection = 'front' | 'back' | undefined;
export declare class CameraManagerState extends DeviceManagerState {
    private directionSubject;
    /**
     * Observable that emits the preferred camera direction
     * front - means the camera facing the user
     * back - means the camera facing the environment
     */
    direction$: import("rxjs").Observable<CameraDirection>;
    constructor(tracer: Tracer | undefined);
    /**
     * The preferred camera direction
     * front - means the camera facing the user
     * back - means the camera facing the environment
     */
    get direction(): CameraDirection;
    /**
     * @internal
     */
    setDirection(direction: CameraDirection): void;
    /**
     * @internal
     */
    setMediaStream(stream: MediaStream | undefined, rootStream: MediaStream | undefined): void;
    protected getDeviceIdFromStream(stream: MediaStream): string | undefined;
}
