/**
 * JAF ADK Layer - Runner System
 *
 * Functional agent execution system
 */
import { Agent, RunnerConfig, RunContext, AgentResponse, AgentEvent, Content, SessionProvider, Tool, GuardrailFunction } from '../types';
import { GraphOptions, GraphResult } from '../../visualization/graphviz';
export declare const runAgent: (config: RunnerConfig, context: RunContext, message: Content) => Promise<AgentResponse>;
export declare const runAgentStream: (config: RunnerConfig, context: RunContext, message: Content) => AsyncGenerator<AgentEvent>;
export declare const validateRunnerConfig: (config: RunnerConfig) => void;
export declare const validateRunContext: (context: RunContext) => void;
export declare const createRunnerConfig: (agent: Agent, sessionProvider: SessionProvider, options?: {
    artifactProvider?: any;
    guardrails?: GuardrailFunction[];
    maxLLMCalls?: number;
    timeout?: number;
}) => RunnerConfig;
export declare const withRunnerErrorHandling: <T extends unknown[], R>(fn: (...args: T) => Promise<R>, agentId?: string) => (...args: T) => Promise<R>;
export declare const getRunnerStats: (config: RunnerConfig) => {
    agentId: string;
    agentName: string;
    toolCount: number;
    subAgentCount: number;
    hasGuardrails: boolean;
    maxLLMCalls: number | undefined;
    timeout: number | undefined;
    isMultiAgent: boolean;
};
export declare const generateRunnerVisualization: (config: RunnerConfig, options?: GraphOptions) => Promise<GraphResult>;
export declare const generateAgentVisualization: (agents: readonly Agent[], options?: GraphOptions) => Promise<GraphResult>;
export declare const generateToolVisualization: (tools: readonly Tool[], options?: GraphOptions) => Promise<GraphResult>;
export declare const generateRunnerGraphPng: (config: RunnerConfig, outputPath?: string) => Promise<GraphResult>;
//# sourceMappingURL=index.d.ts.map