@speechmatics/real-time-client-react
Version:
React hooks for interacting with the Speechmatics Real-Time API
31 lines (25 loc) • 1.82 kB
TypeScript
import * as _speechmatics_real_time_client from '@speechmatics/real-time-client';
import { RealtimeClientEventMap, RealtimeClient } from '@speechmatics/real-time-client';
export * from '@speechmatics/real-time-client';
import { TypedEventListenerOrEventListenerObject } from 'typescript-event-target';
import * as react from 'react';
import * as react_jsx_runtime from 'react/jsx-runtime';
declare function useRealtimeTranscription(): {
sessionId: string | undefined;
socketState: "connecting" | "open" | "closing" | "closed" | undefined;
startTranscription: (jwt: string, config: _speechmatics_real_time_client.RealtimeTranscriptionConfig) => Promise<_speechmatics_real_time_client.RecognitionStarted>;
stopTranscription: ({ noTimeout }?: {
noTimeout?: true;
}) => Promise<unknown>;
sendAudio: (data: _speechmatics_real_time_client.AddAudio) => void;
};
declare function useRealtimeEventListener<E extends keyof RealtimeClientEventMap>(message: E, cb: TypedEventListenerOrEventListenerObject<RealtimeClientEventMap, E>): void;
declare function useClientEventListener<K extends keyof RealtimeClientEventMap>(client: RealtimeClient, eventType: K, cb: TypedEventListenerOrEventListenerObject<RealtimeClientEventMap, K>): void;
type IRealtimeClientContext = {
client: RealtimeClient;
socketState: RealtimeClient['socketState'];
sessionId?: string;
};
declare const RealtimeContext: react.Context<IRealtimeClientContext | null>;
declare function RealtimeTranscriptionProvider({ children, ...options }: React.PropsWithChildren<ConstructorParameters<typeof RealtimeClient>[0]>): react_jsx_runtime.JSX.Element;
export { type IRealtimeClientContext, RealtimeContext, RealtimeTranscriptionProvider, useClientEventListener, useRealtimeEventListener, useRealtimeTranscription };