import { CodeBuddyAgent, ChatEntry } from "../agent/codebuddy-agent.js";
export interface ClientCommandContext {
    agent: CodeBuddyAgent;
    chatHistory: ChatEntry[];
    setChatHistory: React.Dispatch<React.SetStateAction<ChatEntry[]>>;
    setIsProcessing: (processing: boolean) => void;
    setIsStreaming: (streaming: boolean) => void;
    setTokenCount: (count: number) => void;
    setProcessingTime: (time: number) => void;
    processingStartTime: React.MutableRefObject<number>;
    setInput: (input: string) => void;
    clearInput: () => void;
    resetHistory: () => void;
    setShowModelSelection: (show: boolean) => void;
    setSelectedModelIndex: (index: number) => void;
    availableModels: {
        model: string;
    }[];
    processUserMessage: (input: string) => Promise<void>;
}
export declare class ClientCommandDispatcher {
    /**
     * Dispatches a command input to the appropriate handler.
     * @returns true if the input was handled as a command, false otherwise.
     */
    static dispatch(input: string, context: ClientCommandContext): Promise<boolean>;
    private static handleSlashCommand;
    private static handleInternalCommand;
    private static handleEnhancedCommand;
    private static handleChangeMode;
    private static handleListCheckpoints;
    private static handleRestoreCheckpoint;
    private static handleInitGrok;
    private static handleModelSwitch;
    private static handleShellBypass;
    private static isDirectBashCommand;
    private static handleDirectBashCommand;
}
