type ValueTransform = (value: unknown) => unknown; export interface FieldNormalizer { /** Explicit `python_snake_case` → `tsCamelCase` overrides. */ rename?: Record; /** Optional per-source-key value transforms (run before rename). */ transform?: Record; /** Source keys to drop silently (e.g. unsupported fields). */ drop?: readonly string[]; } /** * Python states a timeout in seconds where TypeScript uses milliseconds, so * the S3 family and the Hub configs rename `timeout` to `timeoutMs` and * convert through this. A non-number passes untouched for the schema to * refuse, rather than being multiplied into a different wrong number. */ export declare function secondsToMs(value: unknown): unknown; export declare function snakeToCamel(snake: string): string; /** * Translate a Python-style snake_case config blob to a TS camelCase one. * * Lookup order for each input key: * 1. `drop` — silently skipped. * 2. `rename` — used as the output key. * 3. Default — `snakeToCamel(key)`. Already-camelCase keys round-trip unchanged. * * Values pass through untouched unless `transform[key]` is set. */ export declare function normalizeFields(input: Record, spec?: FieldNormalizer): Record; export {}; //# sourceMappingURL=normalize.d.ts.map