import { Observable } from 'rxjs';
import { IMediastreamCameraService } from './mediastream-camera-service.interface';
import { MediastreamCameraService } from './mediastream-camera.service';
import { IMediastreamMicrophoneService } from './mediastream-microphone-service.interface';
import { MediastreamMicrophoneService } from './mediastream-microphone.service';
import * as i0 from "@angular/core";
export declare class MediastreamCameraMicrophoneService implements IMediastreamCameraService, IMediastreamMicrophoneService {
    private readonly _mediastreamCameraService;
    private readonly _mediastreamMicrophoneService;
    readonly currentCameraMediaDevice$: Observable<MediaDeviceInfo>;
    readonly currentMicrophoneMediaDevice$: Observable<MediaDeviceInfo>;
    readonly mediastream$: Observable<MediaStream>;
    get mediastreamCameraConstraints(): boolean | MediaTrackConstraints;
    get mediastreamMicrophoneConstraints(): boolean | MediaTrackConstraints;
    constructor(_mediastreamCameraService: MediastreamCameraService, _mediastreamMicrophoneService: MediastreamMicrophoneService);
    disableCamera(): void;
    disableMicrophone(): void;
    enableCamera(): void;
    enableMicrophone(): void;
    toggleCamera(): void;
    toggleMicrophone(): void;
    updateCameraDevice(device: MediaDeviceInfo & Record<'kind', 'videoinput'>): void;
    updateMicrophoneDevice(device: MediaDeviceInfo & Record<'kind', 'audioinput'>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MediastreamCameraMicrophoneService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MediastreamCameraMicrophoneService>;
}
