react-text-to-speech
Version:
An easy-to-use React.js library that leverages the Web Speech API to convert text to speech.
52 lines (51 loc) • 1.66 kB
text/typescript
import { A as UseSpeakOptions, D as SpeechUtterancesQueue, E as SpeechSynthesisUtteranceProps, a as DivProps, c as HighlightedTextProps, g as SpeechProps, j as UseSpeechOptions, y as SpeechStatus } from "./types-C9WcCWq5.mjs";
import React, { ReactNode } from "react";
//#region src/components.d.ts
declare function HighlightedText({
id,
children,
...props
}: HighlightedTextProps): React.JSX.Element;
declare function Speech({
startBtn,
pauseBtn,
stopBtn,
useStopOverPause,
enableConditionalHighlight,
props,
children,
...hookProps
}: SpeechProps): ReactNode;
//#endregion
//#region src/lib/queue.d.ts
declare function dequeue(index?: number): void;
//#endregion
//#region src/hooks.d.ts
declare function useQueue(): {
queue: SpeechUtterancesQueue;
dequeue: typeof dequeue;
clearQueue: () => void;
};
declare function useSpeak(options?: UseSpeakOptions): {
Text: React.ForwardRefExoticComponent<Omit<DivProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
speechStatus: SpeechStatus;
isInQueue: boolean;
pause: () => void;
stop: () => void;
speak: (text: ReactNode, options?: SpeechSynthesisUtteranceProps) => void;
start: () => void;
};
declare function useSpeech(speechProps: UseSpeechOptions): {
Text: React.ForwardRefExoticComponent<Omit<DivProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
speechStatus: SpeechStatus;
isInQueue: boolean;
start: () => void;
pause: () => void;
stop: () => void;
};
declare function useVoices(): {
languages: string[];
voices: SpeechSynthesisVoice[];
};
//#endregion
export { HighlightedText, Speech as default, useQueue, useSpeak, useSpeech, useVoices };