import { AdvancedCameraState, CameraExposureMode, CameraFocusMode, CameraState, CameraStateChangeCallback, CaptureFrameOptions, ErrorCallback, VideoConfiguration } from '../../types'; import { ConfigurationService } from '../../configuration'; import { MediaStreamService } from '../media-stream.service'; export declare class CameraController { private configService; private mediaStreamService; private stateCallbacks; private errorCallbacks; private isSwitchingDevice; private previewTrack; private unsubscribes; private captureVideoEl; constructor(configService: ConfigurationService, mediaStreamService: MediaStreamService); private setupEventListeners; destroy(): void; updateResolution: (width: number, height: number) => void; updateFrameRate: (frameRate: number) => void; updateDevice: (deviceId: string) => Promise; updateConstraints: (constraints: MediaTrackConstraints) => void; private restart; enable: (deviceId?: string) => Promise; disable: () => void; toggle: () => Promise; switchDevice: (deviceId: string) => Promise; toggleFacing: () => Promise; preview: (deviceId?: string) => Promise; publishPreview: () => Promise; stopPreview: () => void; reset: () => Promise; onTrackReplaced: (callback: (event: { oldTrack: MediaStreamTrack; newTrack: MediaStreamTrack; source?: "device" | "background"; }) => void) => VoidFunction; getConfiguration: () => VideoConfiguration; onStateChange: (callback: CameraStateChangeCallback) => VoidFunction; onError: (callback: ErrorCallback) => VoidFunction; private _notifyStateChange; private _notifyError; getStream(): MediaStream | null; getTrack(): MediaStreamTrack | null; private getRawTrack; captureFrame: (options?: CaptureFrameOptions) => Promise; captureFrameDataURL: (options?: CaptureFrameOptions) => Promise; captureFrameToCanvas: (canvas?: HTMLCanvasElement) => HTMLCanvasElement; private drawCurrentFrame; private acquireFrameSource; private boundCaptureTrack; private ensureCaptureVideo; private drawSourceToCanvas; private scaleDimensions; private releaseCaptureVideo; getCapabilities: () => MediaTrackCapabilities | null; setZoom: (value: number) => Promise; toggleTorch: (on?: boolean) => Promise; setFocusMode: (mode: CameraFocusMode) => Promise; setExposureMode: (mode: CameraExposureMode) => Promise; getAdvancedState: () => AdvancedCameraState; private torchSupported; private applyAdvancedConstraint; private failAdvanced; get state(): CameraState; }