import React from 'react';
import type { DevelopmentMode, ToolCall } from '../../types/index.js';
export interface ChatInputProps {
    isCancelling: boolean;
    isToolExecuting: boolean;
    isToolConfirmationMode: boolean;
    pendingToolCalls: ToolCall[];
    currentToolIndex: number;
    mcpInitialized: boolean;
    client: unknown | null;
    nonInteractivePrompt?: string;
    nonInteractiveLoadingMessage: string | null;
    customCommands: string[];
    inputDisabled: boolean;
    developmentMode: DevelopmentMode;
    onToolConfirm: (confirmed: boolean) => void;
    onToolCancel: () => void;
    onSubmit: (message: string) => Promise<void>;
    onCancel: () => void;
    onToggleMode: () => void;
}
/**
 * Chat input component that handles user input and tool interactions.
 *
 * Unlike ChatHistory, this component CAN be conditionally mounted/unmounted.
 * It does not contain ink's Static component, so it's safe to hide when
 * modal dialogs are shown.
 */
export declare function ChatInput({ isCancelling, isToolExecuting, isToolConfirmationMode, pendingToolCalls, currentToolIndex, mcpInitialized, client, nonInteractivePrompt, nonInteractiveLoadingMessage, customCommands, inputDisabled, developmentMode, onToolConfirm, onToolCancel, onSubmit, onCancel, onToggleMode, }: ChatInputProps): React.ReactElement;
//# sourceMappingURL=chat-input.d.ts.map