import { type z } from 'zod';
import { type AgentToolConfig, type AgentToolView, type McpOutputSchema, type McpToolConfigWithOutput, type McpToolViewWithOutput, type ToolDescription, type ToolRuntime } from './defineTool';
export declare class ToolDefinitionWithMcpOutputImpl<TName extends string, TInput extends z.ZodObject<z.ZodRawShape>, TInputTransformed extends z.ZodTypeAny, TAgentOutputSchema extends z.ZodTypeAny | undefined, TOutputSchema extends McpOutputSchema> {
    readonly name: TName;
    readonly title: string;
    readonly availability: readonly ToolRuntime[];
    readonly inputSchema: TInput;
    readonly inputSchemaTransformed: TInputTransformed;
    private readonly descriptionConfig;
    private readonly agentConfig;
    private readonly mcpConfig;
    constructor(args: {
        name: TName;
        title: string;
        description: ToolDescription;
        availability: readonly ToolRuntime[];
        inputSchema: TInput;
        inputSchemaTransformed: TInputTransformed;
        agentConfig: AgentToolConfig<TAgentOutputSchema> | null;
        mcpConfig: McpToolConfigWithOutput<TOutputSchema>;
    });
    get description(): string;
    private buildAgentView;
    private get outputSchema();
    for(runtime: 'agent'): AgentToolView<TName, TInput, TAgentOutputSchema>;
    for(runtime: 'mcp'): McpToolViewWithOutput<TName, TInput, TOutputSchema>;
}
//# sourceMappingURL=toolDefinitionWithMcpOutput.d.ts.map