/// <reference types="node" resolution-mode="require"/>
/// <reference types="node" resolution-mode="require"/>
/// <reference types="node" resolution-mode="require"/>
import { type ZodFor } from '@aztec/foundation/schemas';
import { BufferReader } from '@aztec/foundation/serialize';
import { inspect } from 'util';
import { ContractClass2BlockL2Logs, UnencryptedL2BlockL2Logs } from './logs/index.js';
import { TxEffect } from './tx_effect.js';
export declare class Body {
    txEffects: TxEffect[];
    constructor(txEffects: TxEffect[]);
    static get schema(): ZodFor<Body>;
    /**
     * Serializes a block body
     * @returns A serialized L2 block body.
     */
    toBuffer(): Buffer;
    /**
     * Deserializes a block from a buffer
     * @returns A deserialized L2 block.
     */
    static fromBuffer(buf: Buffer | BufferReader): Body;
    [inspect.custom](): string;
    /**
     * Computes the transactions effects hash for the L2 block
     * This hash is also computed in the `TxDecoder`.
     * @returns The txs effects hash.
     */
    getTxsEffectsHash(): Buffer;
    get unencryptedLogs(): UnencryptedL2BlockL2Logs;
    get contractClassLogs(): ContractClass2BlockL2Logs;
    /**
     * Computes the number of transactions in the block including padding transactions.
     * @dev Modified code from TxsDecoder.computeNumTxEffectsToPad
     */
    get numberOfTxsIncludingPadded(): number;
    static random(txsPerBlock?: number, numPublicCallsPerTx?: number, numUnencryptedLogsPerCall?: number): Body;
    static empty(): Body;
}
//# sourceMappingURL=body.d.ts.map