import { VoiceProviderRegistry } from './provider-registry.js';
import type { VoiceDescriptor, VoiceRealtimeSession, VoiceRealtimeSessionRequest, VoiceSynthesisRequest, VoiceSynthesisResult, VoiceSynthesisStreamResult, VoiceTranscriptionRequest, VoiceTranscriptionResult } from './types.js';
export interface VoiceServiceStatus {
    readonly enabled: boolean;
    readonly providerCount: number;
    readonly providers: Awaited<ReturnType<VoiceProviderRegistry['status']>>;
    readonly note: string;
}
export declare class VoiceService {
    private readonly registry;
    constructor(registry: VoiceProviderRegistry);
    getStatus(enabled: boolean): Promise<VoiceServiceStatus>;
    listVoices(providerId?: string): Promise<readonly VoiceDescriptor[]>;
    synthesize(providerId: string | undefined, request: VoiceSynthesisRequest): Promise<VoiceSynthesisResult>;
    synthesizeStream(providerId: string | undefined, request: VoiceSynthesisRequest): Promise<VoiceSynthesisStreamResult>;
    transcribe(providerId: string | undefined, request: VoiceTranscriptionRequest): Promise<VoiceTranscriptionResult>;
    openRealtimeSession(providerId: string | undefined, request: VoiceRealtimeSessionRequest): Promise<VoiceRealtimeSession>;
}
//# sourceMappingURL=service.d.ts.map