export interface TenVADSpeechData {
    audio: Float32Array;
    start: number;
    end: number;
    probability: number;
}
export interface TenVADOptions {
    hopSize?: number;
    voiceThreshold?: number;
    wasmPath?: string;
    jsPath?: string;
    minSpeechDuration?: number;
    maxSilenceDuration?: number;
}
export interface TenVADResult {
    speechSegments: TenVADSpeechData[];
    statistics: {
        totalFrames: number;
        voiceFrames: number;
        voicePercentage: number;
        processingTime: number;
        realTimeFactor: number;
    };
}
export interface TenVADModule {
    HEAP16: Int16Array;
    HEAP32: Int32Array;
    HEAPF32: Float32Array;
    HEAPU8: Uint8Array;
    _malloc: (size: number) => number;
    _free: (ptr: number) => void;
    _ten_vad_create: (handlePtr: number, hopSize: number, threshold: number) => number;
    _ten_vad_process: (handle: number, audioPtr: number, frameSize: number, probPtr: number, flagPtr: number) => number;
    _ten_vad_destroy: (handlePtr: number) => void;
    _ten_vad_get_version: () => number;
    UTF8ToString: (ptr: number) => string;
    getValue: (ptr: number, type: string) => number;
}
export interface TenVADInstance {
    processFrame: (audioData: Int16Array) => Promise<{
        probability: number;
        isVoice: boolean;
    }>;
    reset: () => void;
    destroy: () => void;
}
