import { type Address } from '@ethereumjs/util';
import type { Log } from './types.ts';
/**
 * EIP-7708 system address (canonical `SYSTEM_ADDRESS_BYTES` from `@ethereumjs/util`).
 *
 * @remarks Experimental (Amsterdam): may change on patch releases.
 */
export declare const EIP7708_SYSTEM_ADDRESS: Uint8Array<ArrayBufferLike>;
/**
 * EIP-7708: `keccak256('Transfer(address,address,uint256)')`.
 * Matches the ERC-20 Transfer event signature.
 *
 * @remarks Experimental (Amsterdam): may change on patch releases.
 */
export declare const EIP7708_TRANSFER_TOPIC: Uint8Array<ArrayBufferLike>;
/**
 * EIP-7708: `keccak256('Burn(address,uint256)')`.
 * LOG2 topic for burn logs on same-tx selfdestruct and account removal.
 *
 * @remarks Experimental (Amsterdam): may change on patch releases.
 */
export declare const EIP7708_BURN_TOPIC: Uint8Array<ArrayBufferLike>;
/**
 * Creates an EIP-7708 ETH transfer log (used for CALL/CREATE value transfers).
 * Logs are emitted from the system address with `Transfer(address,address,uint256)` topics.
 *
 * @remarks Experimental (Amsterdam): may change on patch releases.
 */
export declare function createEIP7708TransferLog(from: Address, to: Address, value: bigint): Log;
/**
 * Creates an EIP-7708 burn log (LOG2) for a burned account balance.
 *
 * @remarks Experimental (Amsterdam): may change on patch releases.
 */
export declare function createEIP7708BurnLog(account: Address, value: bigint): Log;
//# sourceMappingURL=eip7708.d.ts.map