UNPKG

2.73 kBTypeScriptView Raw
1/// <reference types="socket.io-client" />
2import EventEmitter from "eventemitter3";
3import { ISynthesisConfig, Message, SynthesisEncoding, SynthesisOutput } from "./types";
4export declare type CharismaEvents = "message" | "start-typing" | "stop-typing" | "recognise-interim" | "recognise";
5export { Message as CharismaMessage, ISynthesisConfig, SynthesisEncoding, SynthesisOutput };
6export declare class CharismaInstance extends EventEmitter<CharismaEvents> {
7 private options;
8 private buffered;
9 private ready;
10 private listening;
11 private speaking;
12 private socket;
13 private microphone;
14 constructor(socket: SocketIOClient.Socket, options?: {
15 baseUrl: string;
16 playthroughToken?: string;
17 userToken?: string;
18 });
19 start: ({ characterId, sceneIndex, speech, startNodeId }: {
20 characterId?: number | undefined;
21 sceneIndex?: number | undefined;
22 speech: boolean | ISynthesisConfig;
23 startNodeId?: number | undefined;
24 }) => void;
25 reply: ({ message, speech, characterId }: {
26 message: string;
27 speech: boolean | ISynthesisConfig;
28 characterId?: number | undefined;
29 }) => void;
30 tap: ({ speech }?: {
31 speech?: boolean | ISynthesisConfig | undefined;
32 }) => void;
33 speak: (audio: number[]) => Promise<void>;
34 startListening: () => void;
35 stopListening: () => void;
36 setMemory: ({ memoryId, saveValue }: {
37 memoryId: string;
38 saveValue: string;
39 }) => void;
40 getMessageHistory: () => Promise<({
41 timestamp: number;
42 type: "character";
43 text: string;
44 character: {
45 id: number;
46 name: string;
47 avatar: string | null;
48 } | null;
49 metadata: {
50 [key: string]: string;
51 };
52 media: string | null;
53 endStory: boolean;
54 tapToContinue: boolean;
55 } | {
56 timestamp: number;
57 type: "player";
58 text: string;
59 })[]>;
60 private onStatusChange;
61 private onMessage;
62 private onStartTyping;
63 private onStopTyping;
64}
65export declare const connect: ({ userToken, playthroughToken, storyId, version, baseUrl }: {
66 storyId: number;
67 version?: number | undefined;
68 playthroughToken?: string | undefined;
69 userToken?: string | undefined;
70 baseUrl: string;
71}) => Promise<CharismaInstance>;
72declare const _default: {
73 connect: ({ userToken, playthroughToken, storyId, version, baseUrl }: {
74 storyId: number;
75 version?: number | undefined;
76 playthroughToken?: string | undefined;
77 userToken?: string | undefined;
78 baseUrl: string;
79 }) => Promise<CharismaInstance>;
80};
81export default _default;