1 | export declare type MediaType = "image" | "video" | "audio" | "youtube" | "vimeo" | "unknown";
|
2 | export interface IMood {
|
3 | happiness: number;
|
4 | anger: number;
|
5 | trust: number;
|
6 | patience: number;
|
7 | fearlessness: number;
|
8 | }
|
9 | interface IMessagePathItem {
|
10 | id: number;
|
11 | type: "node" | "edge";
|
12 | }
|
13 | declare type MessagePath = IMessagePathItem[];
|
14 | export 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 | }
|
37 | export interface IMessageMedia {
|
38 | url: string;
|
39 | mediaType: MediaType;
|
40 | }
|
41 | interface 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 | }
|
53 | export declare type Message = IMessage<"character", IMessageCharacter> | IMessage<"media", IMessageMedia>;
|
54 | export declare type SynthesisEncoding = "mp3" | "ogg" | "pcm";
|
55 | export declare type SynthesisOutput = "url" | "buffer";
|
56 | export interface ISynthesisConfig {
|
57 | audioEncoding?: SynthesisEncoding;
|
58 | output?: SynthesisOutput;
|
59 | }
|
60 | export interface IGraphQLRequest<Result = unknown> {
|
61 | data?: Result;
|
62 | errors?: {
|
63 | message: string;
|
64 | };
|
65 | }
|
66 | export 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 | }
|
92 | export {};
|