export type { FormOptimizer, FormOptimizerContext, WalkResult, SchemaLiteCollector, SchemaLiteInfo } from './types.js'; export { CONTAINER_TYPES, collectContainerEffects, createSchemaLiteCollector, hasTopLevelEffects, isPipeWrappedContainer } from './schema-lite.js'; import type { FormOptimizer } from './types.js'; /** * The default optimizer registry — L1 (decompose) + L2 (native rules) chains merged per type. * Keyed by `def.type`; each entry is an ordered chain of optimizers applied left-to-right. * NEVER mutate this directly — use `createOptimizers(custom)` to extend. * * @category Optimization */ export declare const builtinOptimizers: Record; /** * Create an optimizer registry by merging custom optimizers with builtins. * Custom optimizers for a type replace the entire chain for that type. * * @remarks * Creates an optimizer registry by merging custom optimizers with built-in L1/L2 chains. * L1 stores per-field zodSchema for decomposed validation. * L2 generates native HTML validation rules (minLength, pattern, etc.). * Custom optimizers for a type REPLACE the entire chain — they don't append. * * @useWhen * - You want per-field validation instead of whole-form validation * - You need native HTML validation attributes (required, minLength, pattern) * * @avoidWhen * - You only need whole-schema validation — omit the optimization option entirely * * @never * - NEVER mutate builtinOptimizers — it's a module singleton. Always use createOptimizers(custom) * - NEVER assume custom optimizers append — they REPLACE the entire chain for that type * * @param custom - Custom optimizer chains keyed by Zod `def.type`. Each entry replaces the entire built-in chain for that type. * @returns A merged optimizer registry combining built-in and custom chains, ready to pass via `walkSchema` options. * * @category Optimization */ export declare function createOptimizers(custom?: Record): Record; //# sourceMappingURL=index.d.ts.map