import { AudioDataProvider } from '@audiowave/core';
import { AudioSource } from '../types';
export type AudioStatus = 'idle' | 'active' | 'paused';
/**
 * Options for useCustomAudio hook
 */
export interface UseCustomAudioOptions {
    /** Audio data provider implementation */
    provider: AudioDataProvider;
    /** Device ID to use for audio capture (default: 'default') */
    deviceId?: string;
    /** External status control (optional) */
    status?: AudioStatus;
}
/**
 * Data-only interface for audio hooks - exactly like original useIPCAudio
 */
export interface CustomAudioReturn {
    status: AudioStatus;
    isActive: boolean;
    source: AudioSource | null;
    error: string | null;
    deviceId: string;
    clearError: () => void;
}
/**
 * Custom Audio Data Hook
 *
 * Provides audio data access through Provider pattern.
 * Device control should be handled separately by the application.
 */
export declare function useCustomAudio(options: UseCustomAudioOptions): CustomAudioReturn;
//# sourceMappingURL=useCustomAudio.d.ts.map