/**
 * Local Agent Runner
 *
 * Executes agent prompts locally through the Claude Code CLI binary.
 * Uses the user's Claude Max subscription — no API keys needed.
 *
 * When AGENTICS_LOCAL_AGENTS is enabled, agent invocations bypass
 * Cloud Functions and run through `claude --print` instead.
 */
import type { AgentsInvokeResult } from '../commands/agents.js';
/**
 * Check if local agent execution mode is enabled.
 *
 * Priority:
 * 1. AGENTICS_LOCAL_AGENTS=true/false (explicit override)
 * 2. Auto-detect: enabled if `claude` binary is available
 */
export declare function isLocalAgentMode(): boolean;
/**
 * Check if a specific agent can be executed locally.
 */
export declare function canExecuteLocally(domain: string, agent: string): boolean;
/**
 * Execute an agent locally through the Claude Code CLI binary.
 *
 * Builds a prompt combining the agent's system prompt with the user's query,
 * invokes `claude --print --output-format json`, and wraps the result in
 * the standard AgentsInvokeResult envelope.
 */
export declare function executeAgentLocally(domain: string, agent: string, userQuery: string, correlationId: string): AgentsInvokeResult;
/**
 * Async version of executeAgentLocally that doesn't block the event loop.
 * Uses execFile (callback-based) wrapped in a Promise so parallel agent
 * dispatch via Promise.allSettled works correctly.
 */
export declare function executeAgentLocallyAsync(domain: string, agent: string, userQuery: string, correlationId: string): Promise<AgentsInvokeResult>;
/**
 * Extract the user's query text from a payload object.
 * Handles various payload shapes used across agent domains.
 */
export declare function extractQueryFromPayload(payload: unknown): string;
//# sourceMappingURL=local-agent-runner.d.ts.map