import { DEFAULT_SESSION_OPTIONS, type OrtRuntime } from "./ort-runtime.js"; export interface SegmentationOptions { /** Window duration in seconds. pyannote/segmentation-3.0 was trained on 10s. */ windowSec?: number; /** Window step (fraction of window). pyannote default is 0.1. */ stepRatio?: number; /** Sample rate the model expects. */ sampleRate?: number; /** Inference batch size. */ batchSize?: number; /** Called after each batch with `(processed, total)` chunks. */ onProgress?: (processed: number, total: number) => void; /** Sleep N ms between consecutive batches. Used to throttle GPU/CPU load. */ batchYieldMs?: number; } export interface SegmentationResult { /** (numChunks, numFrames, numLocalSpeakers) hard activations from powerset argmax. */ data: Uint8Array; numChunks: number; numFrames: number; numLocalSpeakers: number; windowSamples: number; stepSamples: number; frameDurationSec: number; chunkStarts: Float64Array; } export declare class SegmentationModel { private readonly session; private readonly ort; private readonly powerset; private readonly numLocalSpeakers; private readonly numPowersetClasses; private constructor(); static load(modelSource: string | ArrayBufferLike | Uint8Array, ort: OrtRuntime, sessionOptions?: typeof DEFAULT_SESSION_OPTIONS): Promise; run(waveform: Float32Array, options?: SegmentationOptions): Promise; private runBatch; } //# sourceMappingURL=segmentation.d.ts.map