/**
 * Runtime prompt builders extracted from agent-runtime.ts.
 *
 * These functions produce prompt strings for provider decision turns,
 * tool follow-ups, repair guidance, and budget finalization.  They are
 * pure functions with no runtime state dependencies.
 */
import type { ArtifactSizeLimit, ToolInputValue } from "@best-agent/protocol";
import { type RequiredToolConstraint } from "../runtime/provider-turn/tool-constraint-types.js";
/**
 * Minimal structural type for completed tool calls used by prompt builders.
 * Only the fields actually consumed by these functions are required;
 * callers may pass richer objects (e.g. CompletedProviderToolCall from
 * agent-runtime.ts) since they are structurally compatible.
 */
export type CompletedToolCallForPrompt = {
    toolName: string;
    toolInput: ToolInputValue;
};
export type PromptDeliverableFailure = {
    actualBytes?: number;
    extraPath?: string;
    displayPath: string;
    maxBytes?: number | ArtifactSizeLimit;
    obligationId?: string;
    path: string;
    reason: "blank" | "command-failed" | "evidence-missing" | "extra-sibling" | "missing" | "too-large" | "unchanged";
};
export declare function buildToolFollowUpSystemPrompt(toolCalls: CompletedToolCallForPrompt[]): string | undefined;
export declare function buildWorkspaceContextSystemPrompt(cwd: string): string;
export declare function formatRequiredToolNamesForPrompt(constraint: RequiredToolConstraint): string;
export declare function buildRequiredToolSystemPrompt(constraint: RequiredToolConstraint): string;
export declare function stripRequiredToolSystemPrompt(systemPrompt: string | undefined, constraint: RequiredToolConstraint | undefined): string | undefined;
export declare function buildRequiredToolMissingError(constraint: RequiredToolConstraint): string;
export declare function buildRequiredToolWrongSelectionError(constraint: RequiredToolConstraint, selectedToolName: string): string;
export declare function buildPromptDeliverableRepairPrompt(failures: PromptDeliverableFailure[]): string;
export declare function describePromptDeliverableFailure(reason: PromptDeliverableFailure["reason"]): string;
export declare function describePromptDeliverableFailureDetails(failure: PromptDeliverableFailure): string;
export declare function buildProviderTurnBudgetFinalizationPrompt(maxProviderTurns: number): string;
//# sourceMappingURL=runtime-prompts.d.ts.map