import { MediaInterface, MediaConstraintsConfig, ScreenShareConstraintsConfig, DeviceInfo } from './interface';
/**
 * Web 媒体适配器
 * 实现 Web 平台的媒体设备操作
 */
export declare class WebMediaAdapter implements MediaInterface {
    private logger;
    private audioContext;
    /**
     * 构造函数
     */
    constructor();
    /**
     * 获取用户媒体流
     * @param constraints 媒体约束
     * @returns Promise<MediaStream>
     */
    getUserMedia(constraints: MediaConstraintsConfig): Promise<MediaStream>;
    /**
     * 获取屏幕共享流
     * @param constraints 屏幕共享约束
     * @returns Promise<MediaStream>
     */
    getDisplayMedia(constraints?: ScreenShareConstraintsConfig): Promise<MediaStream>;
    /**
     * 枚举媒体设备
     * @returns Promise<DeviceInfo[]>
     */
    enumerateDevices(): Promise<DeviceInfo[]>;
    /**
     * 检查浏览器是否支持指定的媒体约束
     * @param constraints 媒体约束
     * @returns Promise<boolean>
     */
    isSupportedConstraints(constraints: MediaTrackSupportedConstraints): Promise<boolean>;
    /**
     * 播放媒体流
     * @param stream 媒体流
     * @param element 视频/音频元素
     * @returns Promise<void>
     */
    playStream(stream: MediaStream, element: HTMLVideoElement | HTMLAudioElement): Promise<void>;
    /**
     * 停止媒体流
     * @param stream 媒体流
     */
    stopStream(stream: MediaStream): void;
    /**
     * 获取音频音量
     * @param stream 媒体流
     * @returns Promise<number> 音量大小 (0-1)
     */
    getAudioLevel(stream: MediaStream): Promise<number>;
    /**
     * 截取视频帧
     * @param videoTrack 视频轨道
     * @returns Promise<Blob> 图片Blob
     */
    captureFrame(videoTrack: MediaStreamTrack): Promise<Blob>;
}
