import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
/**
 * A service for accessing media devices such as microphone and camera
 * using the MediaDevices API in a reactive (RxJS) way.
 */
export declare class MediaDeviceService {
    /**
     * Requests access to media devices (camera and/or microphone).
     * @param constraints MediaStreamConstraints (e.g., { audio: true, video: true })
     * @returns Observable that emits the MediaStream or error.
     */
    requestAccess(constraints: MediaStreamConstraints): Observable<MediaStream>;
    /**
     * Retrieves a list of all connected media input and output devices.
     * @returns Observable that emits the array of MediaDeviceInfo.
     */
    enumerateDevices(): Observable<MediaDeviceInfo[]>;
    /**
     * Checks whether the MediaDevices API is available.
     */
    private isSupported;
    static ɵfac: i0.ɵɵFactoryDeclaration<MediaDeviceService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MediaDeviceService>;
}
