/** * Configuration resolution for the AutoFill engine. * * Turns the sparse, all-optional public {@link AutoFillConfig} into a dense * {@link ResolvedAutoFillConfig} with every field populated, so the rest of the * engine never reasons about `undefined`. Centralizing defaults here keeps * behavior consistent and runtime-configurable via * {@link AutoFillConfigurationManager.update}. * * @packageDocumentation */ import type { AutoFillConfig } from '../../types/autofill.types'; import { AutoFillDetectorName } from '../detectors/pattern-detector'; /** * Fully-populated configuration — the internal, `undefined`-free counterpart of * {@link AutoFillConfig}. Read-only; produce a new one via * {@link AutoFillConfigurationManager.update}. */ export interface ResolvedAutoFillConfig { readonly enabled: boolean; /** Enabled detector names (the copy fallback is always active regardless). */ readonly detectors: ReadonlySet; readonly locale: string; } /** Every built-in detector name, used as the default enabled set. */ export declare const ALL_DETECTOR_NAMES: readonly AutoFillDetectorName[]; /** The immutable default configuration used as the base for every merge. */ export declare const DEFAULT_AUTOFILL_CONFIG: ResolvedAutoFillConfig; /** * Owns the engine's resolved configuration and applies partial updates against * the defaults. A single instance is held by the {@link * import('../autofill-engine').AutoFillEngine}. */ export declare class AutoFillConfigurationManager { private config; /** * @param initial - Optional initial public config; merged over defaults. */ constructor(initial?: AutoFillConfig); /** @returns The current fully-resolved configuration. */ get(): ResolvedAutoFillConfig; /** * Merges `patch` over the current configuration and returns the new resolved * config. A provided `detectors` array replaces the enabled set (the copy * fallback is always retained by the registry); all other fields overwrite * when present. * * @param patch - Partial public config to apply. */ update(patch: AutoFillConfig): ResolvedAutoFillConfig; } //# sourceMappingURL=autofill-config.d.ts.map