import { type LLMFallbackBudget } from './llm-fallback.js';
import type { SchemaExtractionResult } from '../types.js';
export interface JsonSchema {
    type?: string;
    properties?: Record<string, JsonSchema>;
    items?: JsonSchema;
    required?: string[];
}
export interface SchemaExtractionOpts {
    signal?: AbortSignal;
    budget?: LLMFallbackBudget;
}
export declare function extractWithSchema(html: string, schema: JsonSchema): Record<string, unknown>;
export declare function extractWithSchemaDetailed(html: string, schema: JsonSchema): SchemaExtractionResult;
export interface SchemaExtractionAsyncResult extends SchemaExtractionResult {
    warnings: string[];
}
export declare function extractWithSchemaDetailedAsync(html: string, schema: JsonSchema, opts?: SchemaExtractionOpts): Promise<SchemaExtractionAsyncResult>;
//# sourceMappingURL=schema.d.ts.map