@sberdevices/assistant-client
Version:
Модуль взаимодействия с виртуальным ассистентом
31 lines • 1.94 kB
TypeScript
import { SystemMessageDataType, OriginalMessageType, AppInfo } from '../../typings';
import { BatchableMethods, createProtocol } from './protocol';
export interface ClientEvents {
voice: (voice: Uint8Array, original: OriginalMessageType) => void;
status: (status: OriginalMessageType['status'], original: OriginalMessageType) => void;
systemMessage: (systemMessage: SystemMessageDataType, original: OriginalMessageType) => void;
}
export declare type SystemMessage = SystemMessageDataType & {
messageId: string;
messageName: OriginalMessageType[];
};
export declare const createClient: (protocol: ReturnType<typeof createProtocol>, provideMeta?: (() => Promise<Partial<Pick<SystemMessageDataType, 'app_info' | 'meta'>>>) | undefined) => {
destroy: () => void;
createVoiceStream: (callback: ({ messageId, sendVoice, onMessage, }: Pick<BatchableMethods, "messageId" | "sendVoice"> & {
onMessage: (cb: (message: OriginalMessageType) => void) => () => void;
}) => Promise<void>) => Promise<void>;
sendData: (data: Record<string, unknown>, messageName?: string) => number | Long;
sendMeta: (sendSystemMessage: (data: {
data: Record<string, unknown>;
messageName?: string | undefined;
}, last: boolean) => void) => Promise<void>;
sendOpenAssistant: ({ isFirstSession }?: {
isFirstSession: boolean;
}) => Promise<SystemMessageDataType>;
sendServerAction: (serverAction: unknown, appInfo: AppInfo, messageName?: string) => Promise<number | Long | undefined>;
sendText: (text: string, isSsml?: boolean, shouldSendDisableDubbing?: boolean | undefined) => Promise<number | Long | undefined>;
sendCancel: (messageId: number) => void;
on: <K extends "status" | "voice" | "systemMessage">(event: K, cb: ClientEvents[K]) => () => void;
waitForAnswer: (messageId: number | Long) => Promise<SystemMessageDataType>;
};
//# sourceMappingURL=client.d.ts.map