import { DeviceInfo, PlaybackStatus } from './ExpoDlnaPlayer.types';
export * from './ExpoDlnaPlayer.types';
/**
 * 检查设备是否已连接
 * @returns {boolean} 是否已连接到设备
 */
export declare function useDeviceConnectivity(): boolean;
/**
 * 开始搜索可用的DLNA设备
 */
export declare function startDiscovery(): Promise<void>;
/**
 * 停止设备搜索
 */
export declare function stopDiscovery(): Promise<void>;
/**
 * 获取已发现的设备列表
 * @returns 设备信息数组
 */
export declare function getDevices(): Promise<any[]>;
/**
 * 连接到DLNA/AirPlay设备
 * @param deviceId 设备ID
 * @returns 是否连接成功
 */
export declare function connectToDevice(deviceId: string): Promise<boolean>;
/**
 * 断开当前连接的设备
 */
export declare function disconnectFromDevice(): Promise<void>;
/**
 * 检查是否已连接到设备
 * @returns 是否已连接
 */
export declare function isConnected(): Promise<boolean>;
/**
 * 获取当前连接的设备信息
 * @returns 设备信息，如果未连接则返回null
 */
export declare function getConnectedDevice(): Promise<any | null>;
/**
 * 播放媒体
 * @param url 媒体URL
 * @param title 媒体标题
 * @param mimeType 媒体类型
 */
export declare function play(url: string, title?: string, mimeType?: string): Promise<void>;
/**
 * 暂停当前播放
 */
export declare function pause(): Promise<void>;
/**
 * 恢复播放
 */
export declare function resume(): Promise<void>;
/**
 * 停止播放
 */
export declare function stop(): Promise<void>;
/**
 * 跳转到指定位置
 * @param position 位置（秒）
 */
export declare function seek(position: number): Promise<void>;
/**
 * 设置音量
 * @param volume 音量（0-100）
 */
export declare function setVolume(volume: number): Promise<void>;
/**
 * 获取播放状态
 * @returns 播放状态对象
 */
export declare function getPlaybackStatus(): Promise<any>;
/**
 * 设置播放速率
 * @param rate 播放速率（0.5-2.0之间）
 */
export declare function setPlaybackRate(rate: number): Promise<void>;
/**
 * 设置静音状态
 * @param muted 是否静音
 */
export declare function setMuted(muted: boolean): Promise<void>;
/**
 * 获取媒体缓冲状态
 * @returns 返回包含缓冲状态的对象
 */
export declare function getBufferingStatus(): Promise<object | null>;
/**
 * 检查当前设备是否支持Miracast投屏功能（仅Android可用）
 * @returns 是否支持Miracast
 */
export declare function isProjectionSupported(): Promise<boolean>;
/**
 * 开始Miracast投屏（仅Android可用）
 * @param deviceId 设备ID
 * @param mode 投屏模式，可选值: "SCREEN_MIRRORING"(默认) 或 "VIDEO_ONLY"
 * @returns 是否成功启动投屏
 */
export declare function startProjection(deviceId: string, mode?: string): Promise<boolean>;
/**
 * 停止Miracast投屏（仅Android可用）
 */
export declare function stopProjection(): Promise<boolean>;
export declare const ExpoDlnaPlayer: {
    startDiscovery: () => Promise<void>;
    stopDiscovery: () => Promise<void>;
    getDevices: () => Promise<DeviceInfo[]>;
    connectToDevice: (deviceId: string) => Promise<boolean>;
    disconnectFromDevice: () => Promise<void>;
    isConnected: () => Promise<boolean>;
    getConnectedDevice: () => Promise<DeviceInfo | null>;
    play: (url: string, title?: string, mimeType?: string) => Promise<void>;
    pause: () => Promise<void>;
    resume: () => Promise<void>;
    stop: () => Promise<void>;
    seek: (position: number) => Promise<void>;
    setVolume: (volume: number) => Promise<void>;
    setRate: ((rate: number) => Promise<void>) | undefined;
    setMuted: ((muted: boolean) => Promise<void>) | undefined;
    getPlaybackStatus: () => Promise<PlaybackStatus>;
    getBufferingStatus: () => Promise<object>;
    addPlaybackStatusListener: (listener: (status: PlaybackStatus) => void) => {
        remove: () => void;
    };
    addConnectionListener: (listener: (event: {
        deviceId: string;
        connected: boolean;
    }) => void) => {
        remove: () => void;
    };
    addErrorListener: (listener: (error: {
        code: string;
        message: string;
    }) => void) => {
        remove: () => void;
    };
};
export default ExpoDlnaPlayer;
//# sourceMappingURL=index.d.ts.map