@sberdevices/assistant-client
Version:
Модуль взаимодействия с виртуальным ассистентом
54 lines • 2.59 kB
TypeScript
import { AssistantAppState, AssistantServerAction, AssistantClientCustomizedCommand, AssistantSmartAppData, AssistantSmartAppError, AssistantSmartAppCommand, Hints, Suggestions } from './typings';
import { ObserverFunc } from './nanoobservable';
export interface AssistantEvents<A extends AssistantSmartAppData> {
start: () => void;
data: (command: AssistantClientCustomizedCommand<A>) => void;
command: <T extends AssistantSmartAppCommand['smart_app_data'] = AssistantSmartAppCommand['smart_app_data']>(data: T) => void;
error: <T extends AssistantSmartAppError['smart_app_error'] = AssistantSmartAppError['smart_app_error']>(error: T) => void;
}
export interface SendDataParams {
action: AssistantServerAction;
name?: string;
requestId?: string;
}
export interface CreateAssistantParams {
getState: () => AssistantAppState;
getRecoveryState?: () => unknown;
ready?: boolean;
}
export declare const createAssistant: <A extends AssistantSmartAppData>({ getState, getRecoveryState, ready, }: CreateAssistantParams) => {
cancelTts: (() => void) | undefined;
close: () => void;
getInitialData: () => AssistantClientCustomizedCommand<AssistantSmartAppCommand>[];
findInInitialData: <T>({ type, command }: {
type?: string | undefined;
command?: string | undefined;
}) => T | undefined;
getRecoveryState: () => unknown;
on: <K extends "command" | "error" | "data" | "start">(event: K, cb: AssistantEvents<A>[K]) => () => void;
sendAction: <D extends {
type: string;
payload?: Record<string, unknown> | undefined;
} = {
type: string;
payload?: Record<string, unknown> | undefined;
}, E extends {
code: number;
description: string;
} = {
code: number;
description: string;
}>(action: {
type: string;
payload: Record<string, unknown>;
}, onData?: ObserverFunc<D> | undefined, onError?: ObserverFunc<E> | undefined, { name, requestId }?: Pick<SendDataParams, 'name' | 'requestId'>) => () => void;
sendData: ({ action, name, requestId }: SendDataParams, onData?: ObserverFunc<AssistantSmartAppError | A> | undefined) => (() => void);
setGetState: (nextGetState: () => {}) => void;
setGetRecoveryState: (nextGetRecoveryState?: (() => unknown) | undefined) => void;
setSuggests: (suggestions: Suggestions['buttons']) => void;
setHints: (hints: Hints) => void;
sendText: (message: string) => void;
ready: () => void;
};
export * from './typings';
//# sourceMappingURL=createAssistant.d.ts.map