import type { Agent } from '../agent';
import type { RunContext } from '../runContext';
export declare const OUTPUT_GUARDRAIL_BLOCKED_TOOL_OUTPUT = "Output withheld by an output guardrail.";
export type OutputGuardrailBlockedMessageArgs<TContext = unknown> = {
    /**
     * The SDK's default data-free placeholder.
     */
    defaultMessage: string;
    /**
     * The name of the output guardrail observed rejecting terminal tool output in the current run.
     */
    guardrailName: string;
    /**
     * The agent whose terminal tool output was rejected.
     */
    agent: Agent<TContext, any>;
    /**
     * The active run context for the current execution.
     */
    runContext: RunContext<TContext>;
};
export type OutputGuardrailBlockedMessageFormatter<TContext = unknown> = (args: OutputGuardrailBlockedMessageArgs<TContext>) => Promise<string | undefined> | string | undefined;
export type OutputGuardrailBlockedMessage<TContext = unknown> = string | OutputGuardrailBlockedMessageFormatter<TContext>;
type OutputGuardrailBlockedMessageState<TContext> = {
    _currentAgent: Agent<TContext, any>;
    _context: RunContext<TContext>;
};
export declare function createOutputGuardrailBlockedMessageResolver<TContext>(configured: OutputGuardrailBlockedMessage<TContext> | undefined, state: OutputGuardrailBlockedMessageState<TContext>): ((guardrailName: string) => Promise<string>) | undefined;
export {};
