import { BehaviorSubject } from 'rxjs';
import { OutputEvent } from '../../core/OutputEvent';
export interface ChromecastState {
    isAvailable: boolean;
    isConnected: boolean;
    isConnecting: boolean;
    deviceName: string | null;
    error: Error | null;
}
export interface UseCastSenderResult {
    state$: BehaviorSubject<ChromecastState>;
    connect: () => Promise<void>;
    disconnect: () => Promise<void>;
    sendMessage: (event: OutputEvent) => Promise<void>;
}
/**
 * React hook for managing Chromecast sender connection and messaging
 * Exposes state$ observable, connect/disconnect, and sendMessage (no-op if not connected)
 */
export declare function useCastSender(): UseCastSenderResult;
