import { default as React } from 'react';
import { InvokeChatAgentHandlers, AssistantStreamState, ChatMessage, ChatMessageInput, ChatAttachment } from '../hooks/useChatAgent';
import { ModelContextValue } from './ModelContext';
import { McpServersContextValue } from './McpContext';
export type { ChatMessage } from '../hooks/useChatAgent';
export interface ChatContextValue {
    chatHistory: ChatMessage[];
    currentAssistantResponse: AssistantStreamState;
    isStreaming: boolean;
    sendMessage: (input: string | ChatMessageInput, handlers?: InvokeChatAgentHandlers) => Promise<string>;
    clearHistory: () => void;
    cacheAttachment: (attachment: ChatAttachment) => void;
    removeAttachment: (attachmentId: string) => void;
}
interface ChatProviderProps {
    children: React.ReactNode;
    sessionId: string;
    modelContext: ModelContextValue;
    mcpContext: McpServersContextValue;
}
export declare const ChatProvider: React.FC<ChatProviderProps>;
export declare const useChatContext: () => ChatContextValue;
//# sourceMappingURL=ChatContext.d.ts.map