@qonsoll/chat-core
Version:
Library with core logic for chat
115 lines (85 loc) • 3.56 kB
TypeScript
import { r as MessageType, s as AttachFileType, n as MESSAGE_TYPES, t as MessagesContextType, U as UserChatType, v as ChatsContextType, w as ChatContextType, x as UserType } from './types.d-b303aa70.js';
import { ListOnItemsRenderedProps } from 'react-window';
import { Moment } from 'moment';
import { Dispatch, SetStateAction } from 'react';
type useUpdateUserTypingStatusArgs = { messageText: string }
declare function useUpdateUserTypingStatus(
args: useUpdateUserTypingStatusArgs
): (status: boolean) => void
// type listenerAction = 'on_delete' | 'on_add' | 'on_edit'
type listenerAction = 'on_delete'
declare function useMessageActionListener(
action: listenerAction,
callback?: (message: MessageType) => void
): () => void
declare function useChangeMessageStatus(): (
data: ListOnItemsRenderedProps
) => void
type useScheduleMessageSendArgs = {
messageText: string
attachedFiles?: AttachFileType[] | null
}
declare function useScheduleMessageSend(
args: useScheduleMessageSendArgs
): (scheduleDate: Moment, qVideoId?: string) => void
type useChangeUserStatusArgs = { isChatOpen: boolean }
declare function useChangeUserStatus(args: useChangeUserStatusArgs): void
type onMessageSendArgsType = {
attachedFiles: AttachFileType[] | null
messageType: MESSAGE_TYPES
qVideoId?: string
}
declare type onMessageSend = (args: onMessageSendArgsType) => void
declare function useMessageSend(): onMessageSend
type useOnMessageDeleteArgsType = Pick<useMessageActionsArgsType, 'message'>
declare type onMessageDelete = () => void
declare function useMessageDelete(
args: useOnMessageDeleteArgsType
): onMessageDelete
declare type onMessageEdit = () => void
declare function useMessageEdit(): onMessageEdit
type useMessageActionsArgsType = {
messageText: string
setMessageText: Dispatch<SetStateAction<string>>
message: MessageType
}
type useMessageActionsReturnType = {
onMessageEdit: onMessageEdit
onMessageDelete: onMessageDelete
onMessageSend: onMessageSend
onMessagePin: () => void
onMessageForward: () => void
onMessageReply: () => void
onMessageCopy: () => void
}
declare function useMessageActions(
args: useMessageActionsArgsType
): useMessageActionsReturnType
type useChatMessagesReturnType = Pick<
MessagesContextType,
'messages' | 'onUploadMessages' | 'isEndOfList' | 'isInitLoading'
>
declare function useChatMessages(): useChatMessagesReturnType
type fetchMainChatInfoFuncArgs = Pick<
UserChatType,
'oppositeUserId' | 'displayName' | 'chatPhotoUrl'
> & {
chatId: string
}
type fetchMainChatInfoFuncType = (args: fetchMainChatInfoFuncArgs) => () => void
type useChatListenerReturnValueType = {
fetchMainChatInfo: fetchMainChatInfoFuncType
isAllListenersWorking: boolean
} & [fetchMainChatInfoFuncType, boolean]
declare function useChatsListener(
listenerLength?: number
): useChatListenerReturnValueType
type useCurrentChatReturnType = ChatsContextType
declare function useCurrentChat(): useCurrentChatReturnType
type useChatFetchReturnValueType = {
chats: ChatContextType
loading: boolean
} & [ChatContextType, boolean]
declare function useChatFetch(): useChatFetchReturnValueType
declare function useUser(): UserType
export { useMessageActionListener as a, useChangeMessageStatus as b, useScheduleMessageSend as c, useChangeUserStatus as d, useMessageActions as e, useMessageSend as f, useMessageDelete as g, useMessageEdit as h, useChatMessages as i, useChatsListener as j, useCurrentChat as k, useChatFetch as l, useUser as m, useUpdateUserTypingStatus as u };