import type React from "react";
import type { PlaceholderInputHandle } from "../../../components/ui/PlaceholderInput";
import type { AgentDocumentListHandle } from "./components/AgentDocumentList";
import type { AgentSessionCommands } from "./types";
export type ActivePlaceholderInput = {
    text: string;
    behavior?: "compose" | "submit";
} | null;
export declare function useAgentPromptComposerHandlers(input: {
    activePlaceholderInput: ActivePlaceholderInput;
    commands: AgentSessionCommands;
    currentHistoryIndex: number;
    documentListRef: React.RefObject<AgentDocumentListHandle | null>;
    enableDocumentUpload: boolean;
    hideBottomControls: boolean;
    isExecuting: boolean;
    placeholderInputRef: React.RefObject<PlaceholderInputHandle | null>;
    prompt: string;
    promptHistory: string[];
    promptPlaceholderInputRef: React.RefObject<PlaceholderInputHandle | null>;
    shouldSubmitFilledPlaceholderInputRef: React.MutableRefObject<boolean>;
    textareaRef: React.RefObject<HTMLTextAreaElement | null>;
    setActivePlaceholderInput: React.Dispatch<React.SetStateAction<ActivePlaceholderInput>>;
    setAllPlaceholdersFilled: React.Dispatch<React.SetStateAction<boolean>>;
    setCurrentHistoryIndex: React.Dispatch<React.SetStateAction<number>>;
    setInputPlaceholder: React.Dispatch<React.SetStateAction<string>>;
    setPrompt: React.Dispatch<React.SetStateAction<string>>;
}): {
    focusPromptAtEnd: () => void;
    handlePaste: (event: React.ClipboardEvent) => void;
    handleKeyPress: (event: React.KeyboardEvent) => void;
    handlePromptInputChange: (value: string) => void;
    handleActivePlaceholderComplete: (filledText: string) => void;
    handleActivePlaceholderCancel: () => void;
    handlePromptPlaceholderComplete: (filledText: string) => void;
    handlePromptPlaceholderCancel: () => void;
};
