import React from 'react';
import type { ActiveMode } from '../hooks/useAppState.js';
import type { AIProviderConfig, TuneConfig } from '../types/config.js';
import { LLMClient, Message } from '../types/core.js';
interface UseModeHandlersProps {
    client: LLMClient | null;
    currentModel: string;
    currentProvider: string;
    setClient: (client: LLMClient | null) => void;
    setCurrentModel: (model: string) => void;
    setCurrentProvider: (provider: string) => void;
    setCurrentProviderConfig: (providerConfig: AIProviderConfig | null) => void;
    setMessages: (messages: Message[]) => void;
    messages: Message[];
    getMessageTokens: (message: Message) => number;
    setActiveMode: (mode: ActiveMode) => void;
    setIsSettingsMode: (mode: boolean) => void;
    addToChatQueue: (component: React.ReactNode) => void;
    reinitializeMCPServers: (toolManager: import('../tools/tool-manager.js').ToolManager) => Promise<void>;
    setTune: (config: TuneConfig) => void;
}
export declare function useModeHandlers({ client, currentModel, currentProvider, setClient, setCurrentModel, setCurrentProvider, setCurrentProviderConfig, setMessages, messages, getMessageTokens, setActiveMode, setIsSettingsMode, addToChatQueue, reinitializeMCPServers, setTune, }: UseModeHandlersProps): {
    enterMode: (mode: ActiveMode) => void;
    exitMode: () => void;
    enterModelSelectionMode: () => void;
    enterModelDatabaseMode: () => void;
    enterConfigWizardMode: () => void;
    enterMcpWizardMode: () => void;
    enterExplorerMode: () => void;
    enterIdeSelectionMode: () => void;
    enterSettingsMode: () => void;
    handleModelSelect: (selectedProvider: string, selectedModel: string) => Promise<void>;
    handleModelSelectionCancel: () => void;
    handleModelDatabaseCancel: () => void;
    handleConfigWizardComplete: (configPath?: string) => Promise<void>;
    handleConfigWizardCancel: () => void;
    handleMcpWizardComplete: (configPath?: string) => Promise<void>;
    handleMcpWizardCancel: () => void;
    handleSettingsCancel: () => void;
    handleExplorerCancel: () => void;
    handleIdeSelectionCancel: () => void;
    enterTune: () => void;
    handleTuneSelect: (config: TuneConfig) => Promise<void>;
    handleTuneCancel: () => void;
};
export {};
//# sourceMappingURL=useModeHandlers.d.ts.map