/**
 * @module extraction
 * @description LLM-based field extraction from natural language
 *
 * Unlike traditional forms where users fill in specific fields, agent-native
 * forms let users provide information naturally. This module extracts
 * structured data from natural language using LLM.
 */
import type { IAgentRuntime, JsonValue } from "../../../types/index.ts";
import type { TemplateValues } from "./template.ts";
import type { ExtractionResult, FormControl, FormDefinition, IntentResult } from "./types.ts";
/**
 * Extract field values and detect intent from user message using LLM.
 */
export declare function llmIntentAndExtract(runtime: IAgentRuntime, text: string, form: FormDefinition, controls: FormControl[], templateValues?: TemplateValues): Promise<IntentResult>;
/**
 * Extract a specific field value from user message.
 */
export declare function extractSingleField(runtime: IAgentRuntime, text: string, control: FormControl, debug?: boolean, templateValues?: TemplateValues): Promise<ExtractionResult | null>;
/**
 * Detect if user is correcting a previous value.
 */
export declare function detectCorrection(runtime: IAgentRuntime, text: string, currentValues: Record<string, JsonValue>, controls: FormControl[], templateValues?: TemplateValues): Promise<ExtractionResult[]>;
//# sourceMappingURL=extraction.d.ts.map