import type { LiveAttributedTranscriptionConfig, LiveAttributedTranscriptionEventListener, LiveAttributedTranscriptionState, LiveAttributedTranscriptionSummary, LiveTranscriptionChunk } from '../types/interfaces';
/**
 * Live attributed transcription composer.
 *
 * This class owns the replayable event contract that joins online ASR output
 * with `LiveSpeakerTurnSession` speaker-turn events. It intentionally keeps
 * initialization/model loading outside the class so apps can decide which ASR,
 * VAD, and Speaker ID models to use and can reuse already-initialized services.
 */
export declare class LiveAttributedTranscriptionSession {
    private readonly config;
    private readonly listeners;
    private readonly emittedEvents;
    private emittedEventCount;
    private readonly segments;
    private readonly segmentOrder;
    private readonly turnSpeakers;
    private readonly turnSegments;
    private readonly unsubscribeSpeakerEvents;
    private readonly pendingFinalTurns;
    private nextSample;
    private nextSegmentIndex;
    private currentSegmentId;
    private currentSegmentStartSample;
    private processingChunkEndSample;
    private resetAsrBeforeNextChunk;
    private skipAsrForCurrentChunk;
    private activeTurnId;
    private asrHasAcceptedAudio;
    private released;
    constructor(config: LiveAttributedTranscriptionConfig);
    onEvent(listener: LiveAttributedTranscriptionEventListener): () => void;
    getState(): LiveAttributedTranscriptionState;
    getSummary(): LiveAttributedTranscriptionSummary;
    acceptChunk(chunk: LiveTranscriptionChunk): Promise<void>;
    flush(): Promise<void>;
    private drainAsrTailPadding;
    reset(): Promise<void>;
    release(): void;
    private handleSpeakerEvent;
    private emitPartial;
    private closeCurrentSegmentForTurnBoundary;
    private finalizeCurrentSegment;
    private finalizeSegment;
    private ensureCurrentSegment;
    private removeSegment;
    private attachSegmentToTurn;
    private applySpeakerToTurnSegments;
    private emitPendingFinalTurns;
    private getOrderedSegments;
    private emit;
    private ensureNotReleased;
}
//# sourceMappingURL=LiveAttributedTranscriptionSession.d.ts.map