import type { MarketrixConfig, WidgetSettingsData } from '../types';
export type ValidWidgetConfig = MarketrixConfig & Required<Pick<MarketrixConfig, keyof WidgetSettingsData>>;
interface UseWidgetProps {
    config?: MarketrixConfig;
}
export declare const useWidget: ({ config }?: UseWidgetProps) => {
    state: import("..").WidgetState;
    config: ValidWidgetConfig;
    actions: {
        setState: (payload: Partial<import("..").WidgetState>) => void;
        setActiveView: (view: import("../types").WidgetView) => void;
        toggleWidget: () => void;
        closeWidget: () => void;
        setMode: (mode: import("..").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?: import("../types").TaskProgress[];
        }) => void;
        addMessage: (message: import("..").ChatMessage) => void;
        updateMessage: (messageId: string, updates: Partial<import("..").ChatMessage>) => void;
        removeMessage: (messageId: string) => void;
        setMessages: (messages: import("..").ChatMessage[]) => void;
        resetState: () => void;
        stopTask: () => Promise<void>;
        clearChatHistory: () => void;
        sendMessage: (content: string, mode?: import("..").InstructionType, applicationId?: number, question?: string, skipUserMessage?: boolean) => Promise<void>;
    };
    shouldShow: boolean;
    isPreviewMode: boolean;
    configValid: boolean;
};
export {};
//# sourceMappingURL=useWidget.d.ts.map