/**
 * This hook can toggle camera on/off, change camera, provides current camera and other.
 * @category Devices
 */
export declare function useCamera(): {
    /**
     * Toggles current camera on/off
     */
    toggleCamera: () => Promise<undefined | import("../..").DeviceError>;
    /**
     * Stops the camera
     */
    stopCamera: () => void;
    /**
     * Starts the camera
     */
    startCamera: (deviceId?: string | null) => Promise<[MediaStreamTrack, null] | [null, import("../..").DeviceError]>;
    /**
     * Selects the camera device
     */
    selectCamera: (deviceId: string) => Promise<undefined | import("../..").DeviceError>;
    /**
     * @deprecated Use `currentCamera` and `isCameraOn` instead
     * Indicates which camera is now turned on and streaming
     */
    activeCamera: import("../..").DeviceItem | null;
    /**
     * Indicates which camera is now selected
     */
    currentCamera: MediaDeviceInfo | null;
    /**
     * Indicates whether the camera is streaming video
     */
    isCameraOn: boolean;
    /**
     * The MediaStream object containing the current stream
     */
    cameraStream: MediaStream | null;
    /**
     * The currently set camera middleware function
     */
    currentCameraMiddleware: import("../..").TrackMiddleware;
    /**
     * Sets the camera middleware
     */
    setCameraTrackMiddleware: (middleware: import("../..").TrackMiddleware | null) => Promise<void>;
    /**
     * List of available camera devices
     */
    cameraDevices: import("../..").DeviceItem[];
    /**
     * Possible error thrown while setting up the camera
     */
    cameraDeviceError: import("../..").DeviceError | null;
};
//# sourceMappingURL=useCamera.d.ts.map