/**
 * Parse a ValidationIssue's loosely-formatted `amount` and `date` strings into
 * a typed ClarificationExpectation. Returns undefined when the issue carries no
 * structured fields the resolver can act on (e.g. classification-only rules).
 */
import type { ValidationIssue } from '../types/validation.js';
import type { ClarificationExpectation } from '../types/clarification.js';
/** Pull a numeric amount + currency from strings like "$437.47" or "AU$1,234.50". */
export declare function parse_amount(raw: string | number | undefined, default_currency?: string): {
    amount: number;
    currency: string;
} | null;
/** Parse "1 July 2024 - 30 June 2025" into { from, to }. Single-date input maps to a 1-day range. */
export declare function parse_date_range(raw: string | undefined): {
    from: string;
    to: string;
} | undefined;
/**
 * Pull a property address out of an issue description as a fallback when the
 * structured field isn't populated. Looks for "at <addr>", "for <addr>",
 * "property at <addr>", capturing through the next sentence-ending punctuation.
 */
export declare function parse_property_address(text: string | undefined): string | undefined;
/**
 * Build a ClarificationExpectation from a ValidationIssue. Returns undefined
 * when the issue lacks structured fields (resolver has nothing to check).
 */
export declare function extract_expectation(issue: ValidationIssue, options?: {
    default_currency?: string;
}): ClarificationExpectation | undefined;
//# sourceMappingURL=expectation_extractor.d.ts.map