import type pino from "pino";
export type SherpaOnlineRecognizerModel = {
    kind: "transducer";
    encoder: string;
    decoder: string;
    joiner: string;
    tokens: string;
    modelType?: string;
} | {
    kind: "paraformer";
    encoder: string;
    decoder: string;
    tokens: string;
};
export interface SherpaOnlineRecognizerConfig {
    model: SherpaOnlineRecognizerModel;
    numThreads?: number;
    provider?: "cpu";
    debug?: 0 | 1;
    sampleRate?: number;
    featureDim?: number;
    decodingMethod?: "greedy_search";
    maxActivePaths?: number;
    enableEndpoint?: 0 | 1;
    rule1MinTrailingSilence?: number;
    rule2MinTrailingSilence?: number;
    rule3MinUtteranceLength?: number;
}
export interface SherpaOnlineStreamNative {
    acceptWaveform: (sampleRate: number, samples: Float32Array) => void;
    free?: () => void;
}
export interface SherpaOnlineRecognizerNative {
    config?: {
        featConfig?: {
            sampleRate?: number;
        };
    };
    createStream: () => SherpaOnlineStreamNative;
    isReady: (stream: SherpaOnlineStreamNative) => boolean;
    decode: (stream: SherpaOnlineStreamNative) => void;
    getResult: (stream: SherpaOnlineStreamNative) => {
        text?: string;
    } | string | undefined;
    reset?: (stream: SherpaOnlineStreamNative) => void;
    free?: () => void;
}
export declare class SherpaOnlineRecognizerEngine {
    readonly recognizer: SherpaOnlineRecognizerNative;
    readonly sampleRate: number;
    private readonly logger;
    constructor(config: SherpaOnlineRecognizerConfig, logger: pino.Logger);
    createStream(): SherpaOnlineStreamNative;
    free(): void;
}
//# sourceMappingURL=sherpa-online-recognizer.d.ts.map