///
import { ChatObject, MessageObject, PersonObject } from '../interfaces';
export declare const sortChats: (chats: ChatObject[]) => ChatObject[];
export declare const sortMessages: (messages: MessageObject[]) => MessageObject[];
export declare const useSingleChatLogic: (projectId: string, chatId: string, chatAccessKey: string, httpUrl?: string | undefined) => {
onConnect: () => Promise;
onAuthFail: () => Promise;
onEditChat: (chat: ChatObject) => Promise;
onDeleteChat: () => Promise;
onGetMessages: (chatId: number, messages: MessageObject[]) => Promise;
onNewMessage: (chatId: number, newMessage: MessageObject) => Promise;
onEditMessage: (chatId: number, newMessage: MessageObject) => Promise;
onDeleteMessage: (chatId: number, oldMessage: MessageObject) => Promise;
onIsTyping: (id: number, person: PersonObject) => Promise;
projectId: string;
chatId: string;
chatAccessKey: string;
httpUrl: string | undefined;
wsUrl: string | undefined;
activeChatId: number | undefined;
setActiveChatId: import("react").Dispatch>;
chat: ChatObject | undefined;
messages: MessageObject[];
setMessages: import("react").Dispatch>;
peopleToInvite: PersonObject[];
setPeopleToInvite: import("react").Dispatch>;
hasMoreChats: boolean;
setHasMoreChats: import("react").Dispatch>;
hasMoreMessages: boolean;
setHasMoreMessages: import("react").Dispatch>;
isChatFeedAtBottom: boolean;
setIsChatFeedAtBottom: import("react").Dispatch>;
isChatFeedLoading: boolean;
setIsChatFeedLoading: import("react").Dispatch>;
onChatCardClick: (activeChatId: number) => Promise;
onMessageLoaderShow: () => Promise;
onMessageLoaderHide: () => Promise;
onBottomMessageShow: () => Promise;
onBottomMessageHide: () => Promise;
onMessageFormSubmit: (message: MessageObject) => Promise;
};