import type { ZodTypeAny } from 'zod'; import type { Capability, ToolDeclaration, PromptSection, CapabilityAction } from './index.js'; export interface ExtractionCapabilityConfig { schema: ZodTypeAny; /** Fields that must be present to consider extraction complete. */ requiredFields?: string[]; } /** * Agent-level extraction: collects structured data across turns using a * single `submit_extracted_data` tool. Distinct from FlowCapability's * per-node extraction — this is for standalone agents, not flow nodes. */ export declare class ExtractionCapability implements Capability { private schema; private requiredFields; private collectedData; constructor(config: ExtractionCapabilityConfig); getTools(): ToolDeclaration[]; getPromptSections(): PromptSection[]; processToolResult(toolName: string, args: unknown, result: unknown): CapabilityAction | null; /** Read the data collected so far. */ get data(): Record; private getMissingFields; }