import type { TokensFile, NormalizedTokens, RpcOverrides } from "./types.js"; /** * Normalizes a tokens file by validating and transforming all entries. * Handles both camelCase and snake_case field names. * @throws Error if the file is invalid or missing required fields. * * @remarks * This function is intended for untrusted external input (e.g. JSON loaded from disk/network). * It performs: * - Address normalization (`0x`-prefixed hex) for all address fields * - Bigint parsing for `chainId` and `deployedBlockNumber` * - RPC URL normalization and validation */ export declare function normalizeTokensFile(file: TokensFile): TokensFile; /** * Creates a shallow clone of a tokens file. * @remarks Used to ensure normalization does not mutate caller-owned objects. */ export declare function cloneTokensFile(file: TokensFile): TokensFile; /** * Converts a TokensFile to NormalizedTokens, preserving the raw data. * @remarks The returned `raw` is the original input reference. */ export declare function asNormalizedTokens(file: TokensFile): NormalizedTokens; /** * Normalizes a tokens file and returns it with the raw data preserved. */ export declare function normalizeTokens(file: TokensFile): NormalizedTokens; /** * Normalizes a tokens file with optional RPC URL overrides. * * @remarks * This is a convenience wrapper that: * 1. Clones the input to avoid mutation * 2. Applies RPC URL overrides (matched by token `label`) * 3. Runs full normalization (snake_case → camelCase, address normalization, validation) * * Accepts both camelCase and snake_case input (the underlying `normalizeTokensFile` handles both). */ export declare function normalizeTokensWithOverrides(file: TokensFile, overrides?: RpcOverrides): NormalizedTokens; //# sourceMappingURL=normalize.d.ts.map