///
import EventEmitter from "eventemitter3";
import { ISynthesisConfig, Message, SynthesisEncoding, SynthesisOutput } from "./types";
export declare type CharismaEvents = "message" | "start-typing" | "stop-typing" | "recognise-interim" | "recognise";
export { Message as CharismaMessage, ISynthesisConfig, SynthesisEncoding, SynthesisOutput };
export declare class CharismaInstance extends EventEmitter {
private options;
private buffered;
private ready;
private listening;
private speaking;
private socket;
private microphone;
constructor(socket: SocketIOClient.Socket, options?: {
baseUrl: string;
playthroughToken?: string;
userToken?: string;
});
start: ({ characterId, sceneIndex, speech, startNodeId }: {
characterId?: number | undefined;
sceneIndex?: number | undefined;
speech: boolean | ISynthesisConfig;
startNodeId?: number | undefined;
}) => void;
reply: ({ message, speech, characterId }: {
message: string;
speech: boolean | ISynthesisConfig;
characterId?: number | undefined;
}) => void;
tap: ({ speech }?: {
speech?: boolean | ISynthesisConfig | undefined;
}) => void;
speak: (audio: number[]) => Promise;
startListening: () => void;
stopListening: () => void;
setMemory: ({ memoryId, saveValue }: {
memoryId: string;
saveValue: string;
}) => void;
getMessageHistory: () => Promise<({
timestamp: number;
type: "character";
text: string;
character: {
id: number;
name: string;
avatar: string | null;
} | null;
metadata: {
[key: string]: string;
};
media: string | null;
endStory: boolean;
tapToContinue: boolean;
} | {
timestamp: number;
type: "player";
text: string;
})[]>;
private onStatusChange;
private onMessage;
private onStartTyping;
private onStopTyping;
}
export declare const connect: ({ userToken, playthroughToken, storyId, version, baseUrl }: {
storyId: number;
version?: number | undefined;
playthroughToken?: string | undefined;
userToken?: string | undefined;
baseUrl: string;
}) => Promise;
declare const _default: {
connect: ({ userToken, playthroughToken, storyId, version, baseUrl }: {
storyId: number;
version?: number | undefined;
playthroughToken?: string | undefined;
userToken?: string | undefined;
baseUrl: string;
}) => Promise;
};
export default _default;