import { CoreInterop } from '../detail/coreInterop.js';
import { LiveAudioTranscriptionSession } from './liveAudioSession.js';
export declare class AudioClientSettings {
    language?: string;
    temperature?: number;
    /**
     * Serializes the settings into an OpenAI-compatible request object.
     * @internal
     */
    _serialize(): {
        [k: string]: unknown;
    };
}
/**
 * Client for performing audio operations (transcription, translation) with a loaded model.
 * Follows the OpenAI Audio API structure.
 */
export declare class AudioClient {
    private modelId;
    private coreInterop;
    /**
     * Configuration settings for audio operations.
     */
    settings: AudioClientSettings;
    /**
     * @internal
     * Restricted to internal use because CoreInterop is an internal implementation detail.
     * Users should create clients via the Model.createAudioClient() factory method.
     */
    constructor(modelId: string, coreInterop: CoreInterop);
    /**
     * Creates a LiveAudioTranscriptionSession for real-time audio streaming ASR.
     * @returns A LiveAudioTranscriptionSession instance.
     */
    createLiveTranscriptionSession(): LiveAudioTranscriptionSession;
    /**
     * Validates that the audio file path is a non-empty string.
     * @internal
     */
    private validateAudioFilePath;
    /**
     * Transcribes audio into the input language.
     * @param audioFilePath - Path to the audio file to transcribe.
     * @returns The transcription result.
     * @throws Error - If audioFilePath is invalid or transcription fails.
     */
    transcribe(audioFilePath: string): Promise<any>;
    /**
     * Transcribes audio into the input language using streaming, returning an async iterable of chunks.
     * @param audioFilePath - Path to the audio file to transcribe.
     * @returns An async iterable that yields parsed streaming transcription chunks.
     * @throws Error - If audioFilePath is invalid, or streaming fails.
     *
     * @example
     * ```typescript
     * for await (const chunk of audioClient.transcribeStreaming('recording.wav')) {
     *     process.stdout.write(chunk.text);
     * }
     * ```
     */
    transcribeStreaming(audioFilePath: string): AsyncIterable<any>;
}
