/**
 * Submit result tool for structured subagent output.
 *
 * Subagents must call this tool to finish and return structured JSON output.
 */
import type { AgentTool, AgentToolContext, AgentToolResult, AgentToolUpdateCallback } from "@pk-nerdsaver-ai/pi-agent-core";
import type { TSchema } from "@pk-nerdsaver-ai/pi-ai/types";
import type { ToolSession } from ".";
export interface YieldDetails {
    data: unknown;
    status: "success" | "aborted";
    error?: string;
    /**
     * Set when the yield tool exhausted its in-tool schema-retry budget
     * (MAX_SCHEMA_RETRIES) and accepted the data anyway. Surfaced so the
     * executor's post-mortem finalizer can honor the override instead of
     * re-rejecting the same payload with `schema_violation` — keeping the
     * subagent's acceptance and the parent's view of the result in lockstep.
     */
    schemaOverridden?: boolean;
}
export declare class YieldTool implements AgentTool<TSchema, YieldDetails> {
    #private;
    readonly name = "yield";
    readonly approval: "read";
    readonly label = "Submit Result";
    readonly description: string;
    readonly parameters: TSchema;
    strict: boolean;
    readonly intent: "omit";
    lenientArgValidation: boolean;
    constructor(session: ToolSession);
    execute(_toolCallId: string, params: unknown, _signal?: AbortSignal, _onUpdate?: AgentToolUpdateCallback<YieldDetails>, _context?: AgentToolContext): Promise<AgentToolResult<YieldDetails>>;
}
