import { TypedDocumentNode } from '@graphql-typed-document-node/core'; type Maybe = T | null; type InputMaybe = Maybe; type Exact = { [K in keyof T]: T[K]; }; type MakeOptional = Omit & { [SubKey in K]?: Maybe; }; type MakeMaybe = Omit & { [SubKey in K]: Maybe; }; type MakeEmpty = { [_ in K]?: never; }; type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never; }; /** All built-in and custom scalars, mapped to their actual values */ type Scalars = { ID: { input: string; output: string; }; String: { input: string; output: string; }; Boolean: { input: boolean; output: boolean; }; Int: { input: number; output: number; }; Float: { input: number; output: number; }; /** Date custom scalar type */ Date: { input: any; output: any; }; /** Custom tags scalar type */ Tags: { input: string[]; output: string[]; }; /** The `Upload` scalar type represents a file upload. */ Upload: { input: any; output: any; }; }; type AppointmentMessage = { __typename?: 'AppointmentMessage'; videoId: Scalars['String']['output']; }; /** chat */ type Chat = { __typename?: 'Chat'; created_at: Scalars['Date']['output']; id: Scalars['ID']['output']; /** Main chat message */ message: Scalars['String']['output']; /** Extra metadata for the chat message */ metadata?: Maybe>; /** Options for question type message */ options?: Maybe>; /** Indicator for this chat can be forward or not */ private: Scalars['Boolean']['output']; receiver: User; /** Chat Id that this message forwarded from */ reference_id?: Maybe; /** Chat Id that this message reply to */ reply_to?: Maybe; /** Chat room id */ room_id: Scalars['String']['output']; /** Sender user object */ sender: User; /** Sender user Id */ sender_id: Scalars['String']['output']; /** List of user read status on this chat */ status?: Maybe>; /** Text appended with image or video */ sub_text?: Maybe; /** Additional tags for this message */ tags?: Maybe; /** Chat type, text, image, video, etc */ type: Scalars['String']['output']; updated_at: Scalars['Date']['output']; }; /** chat resuts */ type ChatResults = { __typename?: 'ChatResults'; chats: Array; /** Total chat count in this query */ count: Scalars['Float']['output']; /** Key for fetching next query */ last_key?: Maybe; /** Room id */ room_id: Scalars['String']['output']; }; /** chat status */ type ChatStatus = { __typename?: 'ChatStatus'; chat_id?: Maybe; created_at: Scalars['Date']['output']; status: Scalars['String']['output']; updated_at: Scalars['Date']['output']; user_id: Scalars['String']['output']; }; type CreateChatInput = { message: Scalars['String']['input']; metadata?: InputMaybe>; options?: InputMaybe>; private?: InputMaybe; reference_id?: InputMaybe; reply_to?: InputMaybe; room_id: Scalars['String']['input']; sender_id?: InputMaybe; setReplied?: InputMaybe; sub_text?: InputMaybe; tags?: InputMaybe>; type: Scalars['String']['input']; }; /** Key Value Pair Metadata */ type Metadata = { __typename?: 'Metadata'; key: Scalars['String']['output']; value: Scalars['String']['output']; }; type MetadataInput = { key: Scalars['String']['input']; value: Scalars['String']['input']; }; type Mutation = { __typename?: 'Mutation'; /** Create New Chat Room */ addRoom: Room; /** Add User */ addUser: User; markRead: ChatStatus; /** Mark/Unmark chat room as replied */ markReplied: Room; sendMedia: Chat; sendText: Chat; /** Update Chat Room users, adding new user or existing user id */ updateRoom: Room; }; type MutationAddRoomArgs = { metadata?: InputMaybe>; name: Scalars['String']['input']; tags?: InputMaybe; type: Scalars['String']['input']; users?: InputMaybe>; }; type MutationAddUserArgs = { metadata: Array; reference: Scalars['String']['input']; user_id: Scalars['String']['input']; }; type MutationMarkReadArgs = { chat_id: Scalars['String']['input']; }; type MutationMarkRepliedArgs = { id: Scalars['String']['input']; replied: Scalars['Boolean']['input']; }; type MutationSendMediaArgs = { file: Scalars['Upload']['input']; media?: InputMaybe; metadata?: InputMaybe>; options?: InputMaybe>; private?: InputMaybe; reference_id?: InputMaybe; reply_to?: InputMaybe; room_id?: InputMaybe; sender_id?: InputMaybe; setReplied?: InputMaybe; sub_text?: InputMaybe; tags?: InputMaybe>; type?: InputMaybe; }; type MutationSendTextArgs = { message?: InputMaybe; metadata?: InputMaybe>; options?: InputMaybe>; private?: InputMaybe; reference_id?: InputMaybe; reply_to?: InputMaybe; room_id?: InputMaybe; sender_id?: InputMaybe; setReplied?: InputMaybe; sub_text?: InputMaybe; tags?: InputMaybe>; text?: InputMaybe; type?: InputMaybe; }; type MutationUpdateRoomArgs = { id: Scalars['String']['input']; newUsers?: InputMaybe>; users?: InputMaybe>; }; type Query = { __typename?: 'Query'; chat?: Maybe; chats: ChatResults; /** Retrieve chat room info */ room?: Maybe; /** Get all chat room by user */ rooms?: Maybe>; /** Retrieve User Details */ user: User; }; type QueryChatArgs = { id: Scalars['String']['input']; room_id: Scalars['String']['input']; }; type QueryChatsArgs = { after?: InputMaybe; from?: InputMaybe; limit?: InputMaybe; room_id: Scalars['String']['input']; to?: InputMaybe; }; type QueryRoomArgs = { id: Scalars['String']['input']; }; type QueryRoomsArgs = { filter?: InputMaybe; isChat?: InputMaybe; type?: InputMaybe; }; type QueryUserArgs = { id: Scalars['String']['input']; }; type Room = { __typename?: 'Room'; created_at: Scalars['Date']['output']; id: Scalars['ID']['output']; /** Last chat object for the chat room */ last_chat?: Maybe; /** Last Chat Id in the room */ last_chat_id?: Maybe; /** Extra metadata for the chat room */ metadata?: Maybe>; /** Chat Room Name */ name: Scalars['String']['output']; /** Chat room status, ie, replied or unreplied */ status?: Maybe; /** Chat room tags, ie, appointment, booking, etc */ tags?: Maybe; /** Chat Room Type */ type: Scalars['String']['output']; /** Unread count */ unread: Scalars['Float']['output']; updated_at: Scalars['Date']['output']; /** Users under the chat room */ users: Array; }; type SendFileInput = { metadata?: InputMaybe>; options?: InputMaybe>; private?: InputMaybe; reference_id?: InputMaybe; reply_to?: InputMaybe; room_id: Scalars['String']['input']; sender_id?: InputMaybe; setReplied?: InputMaybe; sub_text?: InputMaybe; tags?: InputMaybe>; type: Scalars['String']['input']; }; type Subscription = { __typename?: 'Subscription'; newMessage: Chat; roomStatusChanged: Room; }; type SubscriptionNewMessageArgs = { room?: InputMaybe; type?: InputMaybe; }; type SubscriptionRoomStatusChangedArgs = { room: Scalars['String']['input']; }; type UpdateRoomWithUserDto = { reference: Scalars['String']['input']; user_id: Scalars['String']['input']; }; type User = { __typename?: 'User'; /** List of Channel Ids for user (espcially for coach) */ channels: Array; /** User Id in chat system */ id: Scalars['ID']['output']; /** Extra metadata for the user */ metadata?: Maybe>; /** Source of User Id, ie. naluri_user, naluri_coach */ reference: Scalars['String']['output']; /** User Id from source */ user_id: Scalars['String']['output']; }; type ChatFieldsFragment = { __typename?: 'Chat'; id: string; message: string; sub_text?: string | null; options?: Array | null; type: string; room_id: string; tags?: string[] | null; reply_to?: string | null; reference_id?: string | null; sender_id: string; private: boolean; created_at: any; updated_at: any; metadata?: Array<{ __typename?: 'Metadata'; key: string; value: string; }> | null; status?: Array<{ __typename?: 'ChatStatus'; chat_id?: string | null; user_id: string; status: string; }> | null; sender: ({ __typename?: 'User'; } & { ' $fragmentRefs'?: { 'UserFieldsFragment': UserFieldsFragment; }; }); receiver: ({ __typename?: 'User'; } & { ' $fragmentRefs'?: { 'UserFieldsFragment': UserFieldsFragment; }; }); } & { ' $fragmentName'?: 'ChatFieldsFragment'; }; type RoomFieldsFragment = { __typename?: 'Room'; id: string; name: string; type: string; last_chat_id?: string | null; status?: string | null; created_at: any; updated_at: any; unread: number; last_chat?: { __typename?: 'Chat'; id: string; message: string; sub_text?: string | null; options?: Array | null; type: string; room_id: string; tags?: string[] | null; reply_to?: string | null; reference_id?: string | null; sender_id: string; private: boolean; created_at: any; updated_at: any; status?: Array<{ __typename?: 'ChatStatus'; chat_id?: string | null; user_id: string; status: string; }> | null; } | null; users: Array<{ __typename?: 'User'; id: string; reference: string; user_id: string; }>; metadata?: Array<{ __typename?: 'Metadata'; key: string; value: string; }> | null; } & { ' $fragmentName'?: 'RoomFieldsFragment'; }; type ChatResultsFieldFragment = { __typename?: 'ChatResults'; room_id: string; count: number; last_key?: string | null; chats: Array<{ __typename?: 'Chat'; id: string; message: string; sub_text?: string | null; options?: Array | null; type: string; room_id: string; tags?: string[] | null; reply_to?: string | null; reference_id?: string | null; sender_id: string; private: boolean; created_at: any; updated_at: any; status?: Array<{ __typename?: 'ChatStatus'; chat_id?: string | null; user_id: string; status: string; }> | null; sender: { __typename?: 'User'; id: string; reference: string; user_id: string; }; receiver: { __typename?: 'User'; id: string; reference: string; user_id: string; }; }>; } & { ' $fragmentName'?: 'ChatResultsFieldFragment'; }; type GetRoomsQueryVariables = Exact<{ isChat?: InputMaybe; filter?: InputMaybe; type?: InputMaybe; }>; type GetRoomsQuery = { __typename?: 'Query'; rooms?: Array<{ __typename?: 'Room'; id: string; name: string; type: string; last_chat_id?: string | null; status?: string | null; created_at: any; updated_at: any; unread: number; last_chat?: ({ __typename?: 'Chat'; } & { ' $fragmentRefs'?: { 'ChatFieldsFragment': ChatFieldsFragment; }; }) | null; users: Array<({ __typename?: 'User'; } & { ' $fragmentRefs'?: { 'UserFieldsFragment': UserFieldsFragment; }; })>; metadata?: Array<{ __typename?: 'Metadata'; key: string; value: string; }> | null; }> | null; }; type GetRoomsWithUserChannelsQueryVariables = Exact<{ isChat?: InputMaybe; filter?: InputMaybe; type?: InputMaybe; }>; type GetRoomsWithUserChannelsQuery = { __typename?: 'Query'; rooms?: Array<{ __typename?: 'Room'; id: string; name: string; type: string; last_chat_id?: string | null; status?: string | null; created_at: any; updated_at: any; unread: number; last_chat?: ({ __typename?: 'Chat'; } & { ' $fragmentRefs'?: { 'ChatFieldsFragment': ChatFieldsFragment; }; }) | null; users: Array<({ __typename?: 'User'; } & { ' $fragmentRefs'?: { 'UserFieldsWithChannelsFragment': UserFieldsWithChannelsFragment; }; })>; metadata?: Array<{ __typename?: 'Metadata'; key: string; value: string; }> | null; }> | null; }; type GetRoomsWithMetaOnlyQueryVariables = Exact<{ isChat?: InputMaybe; filter?: InputMaybe; type?: InputMaybe; }>; type GetRoomsWithMetaOnlyQuery = { __typename?: 'Query'; rooms?: Array<{ __typename?: 'Room'; id: string; metadata?: Array<{ __typename?: 'Metadata'; key: string; value: string; }> | null; }> | null; }; type GetRoomQueryVariables = Exact<{ id: Scalars['String']['input']; }>; type GetRoomQuery = { __typename?: 'Query'; room?: { __typename?: 'Room'; id: string; name: string; type: string; last_chat_id?: string | null; status?: string | null; created_at: any; updated_at: any; unread: number; last_chat?: ({ __typename?: 'Chat'; } & { ' $fragmentRefs'?: { 'ChatFieldsFragment': ChatFieldsFragment; }; }) | null; users: Array<({ __typename?: 'User'; } & { ' $fragmentRefs'?: { 'UserFieldsFragment': UserFieldsFragment; }; })>; metadata?: Array<{ __typename?: 'Metadata'; key: string; value: string; }> | null; } | null; }; type GetRoomChatsQueryVariables = Exact<{ roomId: Scalars['String']['input']; limit?: InputMaybe; after?: InputMaybe; }>; type GetRoomChatsQuery = { __typename?: 'Query'; chats: { __typename?: 'ChatResults'; room_id: string; count: number; last_key?: string | null; chats: Array<({ __typename?: 'Chat'; } & { ' $fragmentRefs'?: { 'ChatFieldsFragment': ChatFieldsFragment; }; })>; }; }; type SendTextMutationVariables = Exact<{ message: Scalars['String']['input']; subText?: InputMaybe; options?: InputMaybe | Scalars['String']['input']>; type: Scalars['String']['input']; roomId: Scalars['String']['input']; tags?: InputMaybe | Scalars['String']['input']>; replyTo?: InputMaybe; referenceId?: InputMaybe; senderId?: InputMaybe; private?: InputMaybe; setReplied?: InputMaybe; metadata?: InputMaybe | MetadataInput>; }>; type SendTextMutation = { __typename?: 'Mutation'; sendText: ({ __typename?: 'Chat'; } & { ' $fragmentRefs'?: { 'ChatFieldsFragment': ChatFieldsFragment; }; }); }; type SendMediaMutationVariables = Exact<{ file: Scalars['Upload']['input']; subText?: InputMaybe; options?: InputMaybe | Scalars['String']['input']>; type: Scalars['String']['input']; roomId: Scalars['String']['input']; tags?: InputMaybe | Scalars['String']['input']>; replyTo?: InputMaybe; referenceId?: InputMaybe; senderId?: InputMaybe; private?: InputMaybe; setReplied?: InputMaybe; metadata?: InputMaybe | MetadataInput>; }>; type SendMediaMutation = { __typename?: 'Mutation'; sendMedia: ({ __typename?: 'Chat'; } & { ' $fragmentRefs'?: { 'ChatFieldsFragment': ChatFieldsFragment; }; }); }; type NewMessageSubscriptionVariables = Exact<{ room?: InputMaybe; }>; type NewMessageSubscription = { __typename?: 'Subscription'; newMessage: ({ __typename?: 'Chat'; } & { ' $fragmentRefs'?: { 'ChatFieldsFragment': ChatFieldsFragment; }; }); }; type GetIndividualMessageQueryVariables = Exact<{ id: Scalars['String']['input']; roomId: Scalars['String']['input']; }>; type GetIndividualMessageQuery = { __typename?: 'Query'; chat?: ({ __typename?: 'Chat'; } & { ' $fragmentRefs'?: { 'ChatFieldsFragment': ChatFieldsFragment; }; }) | null; }; type MarkReadMutationVariables = Exact<{ chatId: Scalars['String']['input']; }>; type MarkReadMutation = { __typename?: 'Mutation'; markRead: { __typename?: 'ChatStatus'; chat_id?: string | null; status: string; }; }; type UserFieldsFragment = { __typename?: 'User'; id: string; reference: string; user_id: string; metadata?: Array<{ __typename?: 'Metadata'; key: string; value: string; }> | null; } & { ' $fragmentName'?: 'UserFieldsFragment'; }; type UserFieldsWithChannelsFragment = { __typename?: 'User'; id: string; reference: string; user_id: string; channels: Array; metadata?: Array<{ __typename?: 'Metadata'; key: string; value: string; }> | null; } & { ' $fragmentName'?: 'UserFieldsWithChannelsFragment'; }; type GetUserQueryVariables = Exact<{ id: Scalars['String']['input']; }>; type GetUserQuery = { __typename?: 'Query'; user: ({ __typename?: 'User'; } & { ' $fragmentRefs'?: { 'UserFieldsFragment': UserFieldsFragment; }; }); }; declare const UserFieldsFragmentDoc: TypedDocumentNode; declare const ChatFieldsFragmentDoc: TypedDocumentNode; declare const RoomFieldsFragmentDoc: TypedDocumentNode; declare const ChatResultsFieldFragmentDoc: TypedDocumentNode; declare const UserFieldsWithChannelsFragmentDoc: TypedDocumentNode; declare const GetRoomsDocument: TypedDocumentNode; filter?: InputMaybe; type?: InputMaybe; }>>; declare const GetRoomsWithUserChannelsDocument: TypedDocumentNode; filter?: InputMaybe; type?: InputMaybe; }>>; declare const GetRoomsWithMetaOnlyDocument: TypedDocumentNode; filter?: InputMaybe; type?: InputMaybe; }>>; declare const GetRoomDocument: TypedDocumentNode>; declare const GetRoomChatsDocument: TypedDocumentNode; after?: InputMaybe; }>>; declare const SendTextDocument: TypedDocumentNode; options?: InputMaybe | Scalars['String']['input']>; type: Scalars['String']['input']; roomId: Scalars['String']['input']; tags?: InputMaybe | Scalars['String']['input']>; replyTo?: InputMaybe; referenceId?: InputMaybe; senderId?: InputMaybe; private?: InputMaybe; setReplied?: InputMaybe; metadata?: InputMaybe | MetadataInput>; }>>; declare const SendMediaDocument: TypedDocumentNode; options?: InputMaybe | Scalars['String']['input']>; type: Scalars['String']['input']; roomId: Scalars['String']['input']; tags?: InputMaybe | Scalars['String']['input']>; replyTo?: InputMaybe; referenceId?: InputMaybe; senderId?: InputMaybe; private?: InputMaybe; setReplied?: InputMaybe; metadata?: InputMaybe | MetadataInput>; }>>; declare const NewMessageDocument: TypedDocumentNode; }>>; declare const GetIndividualMessageDocument: TypedDocumentNode>; declare const MarkReadDocument: TypedDocumentNode>; declare const GetUserDocument: TypedDocumentNode>; export { type AppointmentMessage, type Chat, type ChatFieldsFragment, ChatFieldsFragmentDoc, type ChatResults, type ChatResultsFieldFragment, ChatResultsFieldFragmentDoc, type ChatStatus, type CreateChatInput, type Exact, GetIndividualMessageDocument, type GetIndividualMessageQuery, type GetIndividualMessageQueryVariables, GetRoomChatsDocument, type GetRoomChatsQuery, type GetRoomChatsQueryVariables, GetRoomDocument, type GetRoomQuery, type GetRoomQueryVariables, GetRoomsDocument, type GetRoomsQuery, type GetRoomsQueryVariables, GetRoomsWithMetaOnlyDocument, type GetRoomsWithMetaOnlyQuery, type GetRoomsWithMetaOnlyQueryVariables, GetRoomsWithUserChannelsDocument, type GetRoomsWithUserChannelsQuery, type GetRoomsWithUserChannelsQueryVariables, GetUserDocument, type GetUserQuery, type GetUserQueryVariables, type Incremental, type InputMaybe, type MakeEmpty, type MakeMaybe, type MakeOptional, MarkReadDocument, type MarkReadMutation, type MarkReadMutationVariables, type Maybe, type Metadata, type MetadataInput, type Mutation, type MutationAddRoomArgs, type MutationAddUserArgs, type MutationMarkReadArgs, type MutationMarkRepliedArgs, type MutationSendMediaArgs, type MutationSendTextArgs, type MutationUpdateRoomArgs, NewMessageDocument, type NewMessageSubscription, type NewMessageSubscriptionVariables, type Query, type QueryChatArgs, type QueryChatsArgs, type QueryRoomArgs, type QueryRoomsArgs, type QueryUserArgs, type Room, type RoomFieldsFragment, RoomFieldsFragmentDoc, type Scalars, type SendFileInput, SendMediaDocument, type SendMediaMutation, type SendMediaMutationVariables, SendTextDocument, type SendTextMutation, type SendTextMutationVariables, type Subscription, type SubscriptionNewMessageArgs, type SubscriptionRoomStatusChangedArgs, type UpdateRoomWithUserDto, type User, type UserFieldsFragment, UserFieldsFragmentDoc, type UserFieldsWithChannelsFragment, UserFieldsWithChannelsFragmentDoc };