export interface FieldNormalizer {
    /** Explicit `python_snake_case` → `tsCamelCase` overrides. */
    rename?: Record<string, string>;
    /** Source keys to drop silently (e.g. unsupported fields). */
    drop?: readonly string[];
}
export declare function snakeToCamel(snake: string): string;
/** The key `normalizeFields` writes an input key's value under. */
export declare function normalizedKey(key: string, spec?: FieldNormalizer): 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.
 */
export declare function normalizeFields(input: Record<string, unknown>, spec?: FieldNormalizer): Record<string, unknown>;
//# sourceMappingURL=normalize.d.ts.map