import * as react_jsx_runtime from 'react/jsx-runtime';
import React__default from 'react';
import { Conversation, Message, Media } from 'softchatjs-core';

type ConversationItem = {
    conversation: Conversation;
    lastMessage: Message;
    unread: string[];
};
type ConnectionStatus = {
    isConnected: boolean;
    fetchingConversations: boolean;
    connecting: boolean;
};
type Context = {
    activeConversation: ConversationItem | null;
    setActiveConversation: React__default.Dispatch<React__default.SetStateAction<ConversationItem | null>>;
    conversations: ConversationItem[];
    setConversations: React__default.Dispatch<React__default.SetStateAction<ConversationItem[]>>;
    showImageModal: Media[];
    setShowImageModal: React__default.Dispatch<React__default.SetStateAction<Media[]>>;
    connectionStatus: ConnectionStatus;
    setConnectionStatus: React__default.Dispatch<React__default.SetStateAction<ConnectionStatus>>;
};
declare const ChatStateContext: React__default.Context<Context>;
declare const useChatState: () => Context;
declare const ChatStateProvider: ({ children }: {
    children: JSX.Element;
}) => react_jsx_runtime.JSX.Element;

export { ChatStateContext, ChatStateProvider, type ConnectionStatus, type ConversationItem, useChatState };
