import { Recorder } from "./Recorder";
import Microphone from "./Microphone";
import Visualizer from "./Visualizer";
import AudioSource from "./AudioSource";
import Player from "./Player";
import Speech, { GrammarItemType } from "./Speech";
interface NonMatchedMemos {
    text: string;
    url: string;
}
export default class SpeechRecognitionRecorder extends Speech {
    matchingId?: string;
    recorder: Recorder;
    microphone: Microphone;
    audioSource: AudioSource;
    recordedAudioBlob: Blob | undefined;
    recordedAudioUrl: string;
    visualizer: Visualizer;
    player: Player;
    voiceMemos: Record<string, string[]>;
    otherMemos: NonMatchedMemos[];
    spokenText?: string;
    visualizerId: string;
    constructor(grammar: GrammarItemType[], visualizerId: string);
    get currentVoiceMemos(): Record<string, string[]>;
    get audioUrl(): string;
    init: () => void;
    setRecordedAudioUrl: (url: string) => void;
    onRecordingComplete: (audio: Blob) => void;
    start: () => void;
    startRecording: () => void;
    onResult: (event: any) => void;
    stopRecording: (matchedItemId?: string) => void;
}
export {};
