import type { UniversalBlock, UniversalTransaction, UniversalTransactionReceipt, UniversalLog, NetworkConfig } from './providers/interfaces';
import type { Block } from './components/block.interfaces';
import type { Transaction, TransactionReceipt, Log } from './components/transaction.interfaces';
export declare class BlockchainNormalizer {
    private readonly networkConfig;
    private readonly fieldPolicy;
    constructor(networkConfig: NetworkConfig);
    normalizeBlock(rawBlock: UniversalBlock): Block;
    private calculateBlockSizes;
    normalizeTransaction(rawTx: UniversalTransaction): Transaction;
    normalizeTransactionReceipt(rawReceipt: UniversalTransactionReceipt): TransactionReceipt;
    normalizeLog(rawLog: UniversalLog): Log;
    getNetworkConfig(): NetworkConfig;
    private assertRequired;
}
