import type React from "react";
import type { ImageAttachment } from "../utils/image.js";
import type { CustomCommand } from "../core/custom-commands.js";
import type { CompletedItem, UserItem } from "./app-items.js";
import type { UserContent } from "./hooks/useAgentLoop.js";
import type { Message } from "@prestyj/ai";
import type { GoalMode } from "../core/runtime-mode.js";
export declare function collectAssistantTextSince(messages: readonly Message[], startIndex: number, maxChars?: number): string;
export declare function buildGoalSetupPromptFromPlanner({ originalGoalPrompt, plannerOutput, }: {
    originalGoalPrompt: string;
    plannerOutput: string;
}): string;
export declare function isGoalPromptCommandName(cmdName: string): boolean;
export declare function runGoalPromptSetupSequence({ userContent, fullPrompt, messagesRef, setGoalModeAndPrompt, runAgent, onStage, }: {
    userContent: UserContent;
    fullPrompt: string;
    messagesRef: {
        current: Message[];
    };
    setGoalModeAndPrompt: (nextMode: GoalMode) => Promise<void>;
    runAgent: (content: UserContent) => Promise<void>;
    onStage?: (text: string) => void;
}): Promise<void>;
interface PromptCommandSubmitOptions {
    trimmed: string;
    inputImages: ImageAttachment[];
    currentModel: string;
    customCommands: CustomCommand[];
    setLastUserMessage: (message: string) => void;
    setDoneStatus: (status: {
        verb: string;
        durationMs: number;
        toolsUsed: string[];
    } | null) => void;
    finalizeSubmittedUserItem: (item: UserItem) => void;
    runAgent: (content: UserContent) => Promise<void>;
    setLiveItems: React.Dispatch<React.SetStateAction<CompletedItem[]>>;
    getId: () => string;
    reloadCustomCommands: () => void;
    messagesRef?: {
        current: Message[];
    };
    setGoalModeAndPrompt?: (nextMode: GoalMode) => Promise<void>;
    onGoalStage?: (text: string) => void;
    onGoalSetupComplete?: () => void | Promise<void>;
}
export declare function submitPromptCommand({ trimmed, inputImages, currentModel, customCommands, setLastUserMessage, setDoneStatus, finalizeSubmittedUserItem, runAgent, setLiveItems, getId, reloadCustomCommands, messagesRef, setGoalModeAndPrompt, onGoalStage, onGoalSetupComplete, }: PromptCommandSubmitOptions): Promise<boolean>;
export {};
//# sourceMappingURL=submit-prompt-command.d.ts.map