import type { AgentMessage } from "@earendil-works/pi-agent-core";
import type { ImageContent, TextContent } from "@earendil-works/pi-ai/compat";
import type { AgentSessionInternalSurface as AgentSession } from "./agent-session-methods.ts";
import type { PromptOptions } from "./agent-session-types.ts";
export declare function prompt(this: AgentSession, text: string, options?: PromptOptions): Promise<void>;
export declare function _runAgentPrompt(this: AgentSession, messages: AgentMessage | AgentMessage[]): Promise<void>;
export declare function _runAgentContinue(this: AgentSession): Promise<void>;
export declare function _continueQueuedAgentMessages(this: AgentSession): Promise<void>;
/**
 * Try to execute a built-in slash command. Returns true if command was found and executed.
 */
export declare function _tryExecuteBuiltinSlashCommand(this: AgentSession, text: string): Promise<boolean>;
/**
 * Try to execute an extension command. Returns true if command was found and executed.
 */
export declare function _tryExecuteExtensionCommand(this: AgentSession, text: string): Promise<boolean>;
/**
 * Expand skill commands (/skill:name args) to their full content.
 * Returns the expanded text, or the original text if not a skill command or skill not found.
 * Emits errors via extension runner if file read fails.
 */
export declare function _expandSkillCommand(this: AgentSession, text: string): string;
/**
 * Queue a steering message while the agent is running.
 * Delivered after the current assistant turn finishes executing its tool calls,
 * before the next LLM call.
 * Expands skill commands and prompt templates. Errors on extension commands.
 * @param images Optional image attachments to include with the message
 * @throws Error if text is an extension command
 */
export declare function steer(this: AgentSession, text: string, images?: ImageContent[]): Promise<void>;
/**
 * Queue a follow-up message to be processed after the agent finishes.
 * Delivered only when agent has no more tool calls or steering messages.
 * Expands skill commands and prompt templates. Errors on extension commands.
 * @param images Optional image attachments to include with the message
 * @throws Error if text is an extension command
 */
export declare function followUp(this: AgentSession, text: string, images?: ImageContent[]): Promise<void>;
/**
 * Internal: Queue a steering message (already expanded, no extension command check).
 */
export declare function sendUserMessage(this: AgentSession, content: string | (TextContent | ImageContent)[], options?: {
    deliverAs?: "steer" | "followUp";
}): Promise<void>;
/**
 * Clear all queued messages and return them.
 * Useful for restoring to editor when user aborts.
 * @returns Object with steering and followUp arrays
 */
export declare const agentSessionPromptMethods: {
    prompt: typeof prompt;
    _runAgentPrompt: typeof _runAgentPrompt;
    _runAgentContinue: typeof _runAgentContinue;
    _continueQueuedAgentMessages: typeof _continueQueuedAgentMessages;
    _tryExecuteBuiltinSlashCommand: typeof _tryExecuteBuiltinSlashCommand;
    _tryExecuteExtensionCommand: typeof _tryExecuteExtensionCommand;
    _expandSkillCommand: typeof _expandSkillCommand;
    steer: typeof steer;
    followUp: typeof followUp;
    sendUserMessage: typeof sendUserMessage;
};
//# sourceMappingURL=agent-session-prompt.d.ts.map