speech-to-element
Version:
Add real-time speech to text functionality into your website with no effort
60 lines (59 loc) • 2.08 kB
TypeScript
import { OnCommandModeTrigger, OnPauseTrigger, Options } from './types/options';
import { InternalCommands } from './types/internalCommands';
export declare abstract class Speech {
finalTranscript: string;
interimSpan: HTMLSpanElement;
finalSpan: HTMLSpanElement;
scrollingSpan: HTMLSpanElement;
isCursorAtEnd: boolean;
private _primitiveElement?;
private _genericElement?;
spansPopulated: boolean;
mouseDownEvent?: (event: MouseEvent) => void;
mouseUpEvent?: (event: MouseEvent) => void;
keyDownEvent?: (event: KeyboardEvent) => void;
startPadding: string;
endPadding: string;
numberOfSpacesBeforeNewText: number;
numberOfSpacesAfterNewText: number;
isHighlighted: boolean;
primitiveTextRecorded: boolean;
recognizing: boolean;
mouseDownElement?: Element;
private _displayInterimResults;
private _finalTextColor?;
stopTimeout?: NodeJS.Timeout;
stopTimeoutMS?: number;
insertInCursorLocation: boolean;
autoScroll: boolean;
private _onResult?;
private _onPreResult?;
private _onStart?;
private _onStop?;
private _onError?;
isRestarting: boolean;
private _options?;
private _originalText?;
onCommandModeTrigger?: OnCommandModeTrigger;
onPauseTrigger?: OnPauseTrigger;
isPaused: boolean;
commands?: InternalCommands;
isWaitingForCommand: boolean;
isTargetInShadow: boolean;
cannotBeStopped: boolean;
constructor();
prepareBeforeStart(options?: Options): void;
private prepare;
resetRecording(options?: Options): void;
updateElements(interimTranscript: string, finalTranscript: string, newText: string): void;
private updatePrimitiveElement;
private updateGenericElement;
finalise(isDuringReset?: boolean): void;
setInterimColorToFinal(): void;
private resetState;
setStateOnStart(): void;
setStateOnStop(): void;
setStateOnError(details: string): void;
abstract start(options?: Options, isDuringReset?: boolean): void;
abstract stop(isDuringReset?: boolean): void;
}