import React from 'react';
import type { ChatMessage, InstructionType, TaskProgress, WidgetState } from '../types';
interface WidgetContextType {
    state: WidgetState;
    actions: {
        setState: (payload: Partial<WidgetState>) => void;
        toggleWidget: () => void;
        closeWidget: () => void;
        setMode: (mode: InstructionType) => void;
        setLoading: (loading: boolean) => void;
        setAgentAvailable: (available: boolean) => void;
        setError: (error: string | undefined) => void;
        clearError: () => void;
        setTaskState: (payload: {
            activeTaskId: string | null;
            isTaskRunning: boolean;
            taskProgress?: TaskProgress[];
        }) => void;
        addMessage: (message: ChatMessage) => void;
        updateMessage: (messageId: string, updates: Partial<ChatMessage>) => void;
        removeMessage: (messageId: string) => void;
        setMessages: (messages: ChatMessage[]) => void;
        resetState: () => void;
        stopTask: () => Promise<void>;
        clearChatHistory: () => void;
        sendMessage: (content: string, mode?: InstructionType, connectionId?: number, question?: string, skipUserMessage?: boolean) => Promise<void>;
    };
}
export declare const WidgetProvider: React.FC<{
    children: React.ReactNode;
}>;
export declare const useWidgetContext: () => WidgetContextType;
export {};
//# sourceMappingURL=WidgetContext.d.ts.map