import { type ReactNode } from 'react'; import { AudioProxyClient } from './client'; import { AudioProxyOptions, StreamInfo, Environment } from './types'; /** * Hook for managing audio proxy client with automatic URL processing */ export declare function useAudioProxy(url: string | null, options?: AudioProxyOptions): { audioUrl: string | null; isLoading: boolean; error: string | null; streamInfo: StreamInfo | null; retry: () => void; client: AudioProxyClient; }; /** * Hook for accessing audio capabilities and system information */ export declare function useAudioCapabilities(): { capabilities: { supportedFormats: string[]; missingCodecs: string[]; capabilities: Record; environment: Environment; electronVersion?: string; chromiumVersion?: string; } | null; devices: { inputDevices: Array<{ id: string; name: string; }>; outputDevices: Array<{ id: string; name: string; }>; } | null; systemSettings: { defaultInputDevice?: string; defaultOutputDevice?: string; masterVolume?: number; } | null; isLoading: boolean; error: string | null; refresh: () => Promise; }; /** * Hook for checking proxy server availability */ export declare function useProxyStatus(options?: AudioProxyOptions): { isAvailable: boolean | null; isChecking: boolean; error: string | null; proxyUrl: string; refresh: () => Promise; }; /** * Hook for audio metadata extraction (Tauri/Electron only) */ export declare function useAudioMetadata(filePath: string | null): { metadata: { duration?: number; bitrate?: number; sampleRate?: number; channels?: number; format?: string; } | null; isLoading: boolean; error: string | null; }; /** * Context provider for global audio proxy configuration */ interface AudioProxyContextValue { defaultOptions: AudioProxyOptions; client: AudioProxyClient; } export declare function AudioProxyProvider({ children, options, }: { children: ReactNode; options?: AudioProxyOptions; }): import("react").FunctionComponentElement>; export declare function useAudioProxyContext(): AudioProxyContextValue; /** * Simplified hook that returns a playable URL from an audio file path * Wrapper around useAudioProxy with a cleaner API */ export declare function useAudioUrl(url: string | null, options?: AudioProxyOptions): { playableUrl: string | null; loading: boolean; error: Error | null; streamInfo: StreamInfo | null; retry: () => void; client: AudioProxyClient; }; export {}; //# sourceMappingURL=react.d.ts.map