import type { IAgentExecutorProvider } from '../../../../application/ports/output/agents/agent-executor-provider.interface.js';
import type { IAgentExecutorFactory } from '../../../../application/ports/output/agents/agent-executor-factory.interface.js';
import type { IStructuredAgentCaller, StructuredCallOptions } from '../../../../application/ports/output/agents/structured-agent-caller.interface.js';
/**
 * Structured agent caller that abstracts native structured output vs prompt-based JSON extraction.
 *
 * Uses the agent's native structured output capability when available,
 * otherwise falls back to prompt-based JSON extraction with brace-depth parsing.
 */
export declare class StructuredAgentCallerService implements IStructuredAgentCaller {
    private readonly executorProvider;
    private readonly executorFactory;
    constructor(executorProvider: IAgentExecutorProvider, executorFactory: IAgentExecutorFactory);
    call<T>(prompt: string, schema: object, options?: StructuredCallOptions): Promise<T>;
    private callWithNativeSchema;
    private callWithPromptFallback;
    private wrapPromptWithJsonInstructions;
    private parseJsonFromText;
}
//# sourceMappingURL=structured-agent-caller.service.d.ts.map