import React from 'react';
import { SpeechUtterancesQueue, UseSpeechOptions, SpeechStatus, SpeechProps, DivProps } from './types.js';

declare function dequeue(index?: number): void;

declare function useQueue(): {
    queue: SpeechUtterancesQueue;
    dequeue: typeof dequeue;
    clearQueue: () => void;
};
declare function useSpeech({ text, pitch, rate, volume, lang, voiceURI, autoPlay, preserveUtteranceQueue, highlightText, showOnlyHighlightedText, highlightMode, highlightProps, maxChunkSize, onError, onStart, onResume, onPause, onStop, onBoundary, onQueueChange, }: UseSpeechOptions): {
    Text: () => React.ReactNode;
    speechStatus: SpeechStatus;
    isInQueue: boolean;
    start: () => any;
    pause: () => void;
    stop: () => void;
};
declare function useVoices(): {
    languages: string[];
    voices: SpeechSynthesisVoice[];
};

declare function HighlightedText({ id, children, ...props }: DivProps): React.JSX.Element;
declare function Speech({ id, startBtn, pauseBtn, stopBtn, useStopOverPause, props, children, ...hookProps }: SpeechProps): React.JSX.Element;

export { HighlightedText, Speech as default, useQueue, useSpeech, useVoices };
