UNPKG

2.45 kBTypeScriptView Raw
1export declare type MediaType = "image" | "video" | "audio" | "youtube" | "vimeo" | "unknown";
2export interface IMood {
3 happiness: number;
4 anger: number;
5 trust: number;
6 patience: number;
7 fearlessness: number;
8}
9interface IMessagePathItem {
10 id: number;
11 type: "node" | "edge";
12}
13declare type MessagePath = IMessagePathItem[];
14export interface IMessageCharacter {
15 text: string;
16 character: {
17 id: number;
18 name: string;
19 avatar: string | null;
20 } | null;
21 metadata: {
22 [key: string]: string;
23 };
24 speech: {
25 audio: {
26 data: number[];
27 type: "Buffer";
28 } | string;
29 duration: number;
30 } | null;
31 media: {
32 imageLayers: Array<string | null>;
33 soundBackground: string | null;
34 soundEffect: string | null;
35 };
36}
37export interface IMessageMedia {
38 url: string;
39 mediaType: MediaType;
40}
41interface IMessage<T extends string, S> {
42 type: T;
43 message: S;
44 endStory: boolean;
45 tapToContinue: boolean;
46 path: MessagePath;
47 characterMoods: Array<{
48 id: number;
49 name: string;
50 mood: IMood;
51 }>;
52}
53export declare type Message = IMessage<"character", IMessageCharacter> | IMessage<"media", IMessageMedia>;
54export declare type SynthesisEncoding = "mp3" | "ogg" | "pcm";
55export declare type SynthesisOutput = "url" | "buffer";
56export interface ISynthesisConfig {
57 audioEncoding?: SynthesisEncoding;
58 output?: SynthesisOutput;
59}
60export interface IGraphQLRequest<Result = unknown> {
61 data?: Result;
62 errors?: {
63 message: string;
64 };
65}
66export interface IMessageHistoryQueryResult {
67 playthrough: {
68 eventsByPlaythroughId: {
69 nodes: Array<{
70 timestamp: Date;
71 eventMessageCharacter: {
72 text: string;
73 character: {
74 id: number;
75 name: string;
76 avatar: string | null;
77 } | null;
78 metadata: {
79 [key: string]: string;
80 };
81 media: string | null;
82 endStory: boolean;
83 tapToContinue: boolean;
84 } | null;
85 eventMessagePlayer: {
86 text: string;
87 } | null;
88 }>;
89 };
90 };
91}
92export {};