import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../common"; export declare namespace IL1BlobVerifier { type L1TxProofStruct = { headerIndex: BigNumberish; key: BytesLike; proof: BytesLike[]; }; type L1TxProofStructOutput = [ headerIndex: bigint, key: string, proof: string[] ] & { headerIndex: bigint; key: string; proof: string[]; }; type L1BlobProofStruct = { headers: BytesLike[]; txs: IL1BlobVerifier.L1TxProofStruct[]; }; type L1BlobProofStructOutput = [ headers: string[], txs: IL1BlobVerifier.L1TxProofStructOutput[] ] & { headers: string[]; txs: IL1BlobVerifier.L1TxProofStructOutput[]; }; } export interface L1BlobVerifierInterface extends Interface { getFunction(nameOrSignature: "MAX_AGE" | "l1Block" | "record" | "recorded" | "verify"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "OriginRecorded"): EventFragment; encodeFunctionData(functionFragment: "MAX_AGE", values?: undefined): string; encodeFunctionData(functionFragment: "l1Block", values?: undefined): string; encodeFunctionData(functionFragment: "record", values?: undefined): string; encodeFunctionData(functionFragment: "recorded", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "verify", values: [IL1BlobVerifier.L1BlobProofStruct]): string; decodeFunctionResult(functionFragment: "MAX_AGE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "l1Block", data: BytesLike): Result; decodeFunctionResult(functionFragment: "record", data: BytesLike): Result; decodeFunctionResult(functionFragment: "recorded", data: BytesLike): Result; decodeFunctionResult(functionFragment: "verify", data: BytesLike): Result; } export declare namespace OriginRecordedEvent { type InputTuple = [number: BigNumberish, hash: BytesLike]; type OutputTuple = [number: bigint, hash: string]; interface OutputObject { number: bigint; hash: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface L1BlobVerifier extends BaseContract { connect(runner?: ContractRunner | null): L1BlobVerifier; waitForDeployment(): Promise; interface: L1BlobVerifierInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; MAX_AGE: TypedContractMethod<[], [bigint], "view">; l1Block: TypedContractMethod<[], [string], "view">; record: TypedContractMethod<[], [void], "nonpayable">; recorded: TypedContractMethod<[arg0: BigNumberish], [string], "view">; verify: TypedContractMethod<[ p: IL1BlobVerifier.L1BlobProofStruct ], [ [string[], bigint[]] & { vhs: string[]; blobBlocks: bigint[]; } ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "MAX_AGE"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "l1Block"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "record"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "recorded"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; getFunction(nameOrSignature: "verify"): TypedContractMethod<[ p: IL1BlobVerifier.L1BlobProofStruct ], [ [string[], bigint[]] & { vhs: string[]; blobBlocks: bigint[]; } ], "view">; getEvent(key: "OriginRecorded"): TypedContractEvent; filters: { "OriginRecorded(uint256,bytes32)": TypedContractEvent; OriginRecorded: TypedContractEvent; }; }