import type { ApiInterface } from '../types/api';
import type { KWSModelConfig, KWSInitResult, KWSAcceptWaveformResult, ValidateResult } from '../types/interfaces';
/**
 * Service for Keyword Spotting (KWS) functionality
 */
export declare class KWSService {
    private initialized;
    private api;
    constructor(api: ApiInterface);
    /**
     * Validate that the Sherpa-ONNX library is properly loaded
     */
    validateLibrary(): Promise<ValidateResult>;
    /**
     * Initialize KWS with the provided model configuration
     * @param config Configuration for KWS model
     * @returns Promise that resolves with initialization result
     */
    init(config: KWSModelConfig): Promise<KWSInitResult>;
    /**
     * Accept waveform samples and check for keyword detection
     * @param sampleRate Sample rate of the audio (typically 16000)
     * @param samples Audio samples as float array
     * @returns Promise with detection result
     */
    acceptWaveform(sampleRate: number, samples: number[]): Promise<KWSAcceptWaveformResult>;
    /**
     * Reset the KWS stream
     */
    resetStream(): Promise<{
        success: boolean;
    }>;
    /**
     * Release KWS resources
     */
    release(): Promise<{
        released: boolean;
    }>;
}
//# sourceMappingURL=KWSService.d.ts.map