export type RecordingEncodingType = 'pcm_32bit' | 'pcm_16bit' | 'pcm_8bit';
export type SampleRate = 16000 | 44100 | 48000;
export type BitDepth = 8 | 16 | 32;
export declare const PlaybackModes: {
    readonly REGULAR: "regular";
    readonly VOICE_PROCESSING: "voiceProcessing";
    readonly CONVERSATION: "conversation";
};
/**
 * Defines different playback modes for audio processing
 */
export type PlaybackMode = (typeof PlaybackModes)[keyof typeof PlaybackModes];
/**
 * Configuration for audio playback settings
 */
export interface SoundConfig {
    /**
     * The sample rate for audio playback in Hz
     */
    sampleRate?: SampleRate;
    /**
     * The playback mode (regular, voiceProcessing, or conversation)
     */
    playbackMode?: PlaybackMode;
    /**
     * When true, resets to default configuration regardless of other parameters
     */
    useDefault?: boolean;
}
export declare const EncodingTypes: {
    readonly PCM_F32LE: "pcm_f32le";
    readonly PCM_S16LE: "pcm_s16le";
};
/**
 * Defines different encoding formats for audio data
 */
export type Encoding = (typeof EncodingTypes)[keyof typeof EncodingTypes];
export interface StartRecordingResult {
    fileUri: string;
    mimeType: string;
    channels?: number;
    bitDepth?: BitDepth;
    sampleRate?: SampleRate;
}
export interface AudioDataEvent {
    data: string | Float32Array;
    data16kHz?: string | Float32Array;
    position: number;
    fileUri: string;
    eventDataSize: number;
    totalSize: number;
    soundLevel?: number;
}
export interface RecordingConfig {
    sampleRate?: SampleRate;
    channels?: 1 | 2;
    encoding?: RecordingEncodingType;
    interval?: number;
    enableProcessing?: boolean;
    pointsPerSecond?: number;
    onAudioStream?: (event: AudioDataEvent) => Promise<void>;
}
export interface Chunk {
    text: string;
    timestamp: [number, number | null];
}
export interface TranscriberData {
    id: string;
    isBusy: boolean;
    text: string;
    startTime: number;
    endTime: number;
    chunks: Chunk[];
}
export interface AudioRecording {
    fileUri: string;
    filename: string;
    durationMs: number;
    size: number;
    channels: number;
    bitDepth: BitDepth;
    sampleRate: SampleRate;
    mimeType: string;
    transcripts?: TranscriberData[];
    wavPCMData?: Float32Array;
}
//# sourceMappingURL=types.d.ts.map