import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../common"; export declare namespace MinimalForwarder { type ForwardRequestStruct = { from: AddressLike; to: AddressLike; value: BigNumberish; gas: BigNumberish; nonce: BigNumberish; data: BytesLike; }; type ForwardRequestStructOutput = [ from: string, to: string, value: bigint, gas: bigint, nonce: bigint, data: string ] & { from: string; to: string; value: bigint; gas: bigint; nonce: bigint; data: string; }; } export interface MinimalForwarderInterface extends Interface { getFunction(nameOrSignature: "eip712Domain" | "execute" | "getNonce" | "verify"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string; encodeFunctionData(functionFragment: "execute", values: [MinimalForwarder.ForwardRequestStruct, BytesLike]): string; encodeFunctionData(functionFragment: "getNonce", values: [AddressLike]): string; encodeFunctionData(functionFragment: "verify", values: [MinimalForwarder.ForwardRequestStruct, BytesLike]): string; decodeFunctionResult(functionFragment: "eip712Domain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getNonce", data: BytesLike): Result; decodeFunctionResult(functionFragment: "verify", data: BytesLike): Result; } export declare namespace EIP712DomainChangedEvent { type InputTuple = []; type OutputTuple = []; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface MinimalForwarder extends BaseContract { connect(runner?: ContractRunner | null): MinimalForwarder; waitForDeployment(): Promise; interface: MinimalForwarderInterface; 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; eip712Domain: TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; execute: TypedContractMethod<[ req: MinimalForwarder.ForwardRequestStruct, signature: BytesLike ], [ [boolean, string] ], "payable">; getNonce: TypedContractMethod<[from: AddressLike], [bigint], "view">; verify: TypedContractMethod<[ req: MinimalForwarder.ForwardRequestStruct, signature: BytesLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[ ], [ [ string, string, string, bigint, string, string, bigint[] ] & { fields: string; name: string; version: string; chainId: bigint; verifyingContract: string; salt: string; extensions: bigint[]; } ], "view">; getFunction(nameOrSignature: "execute"): TypedContractMethod<[ req: MinimalForwarder.ForwardRequestStruct, signature: BytesLike ], [ [boolean, string] ], "payable">; getFunction(nameOrSignature: "getNonce"): TypedContractMethod<[from: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "verify"): TypedContractMethod<[ req: MinimalForwarder.ForwardRequestStruct, signature: BytesLike ], [ boolean ], "view">; getEvent(key: "EIP712DomainChanged"): TypedContractEvent; filters: { "EIP712DomainChanged()": TypedContractEvent; EIP712DomainChanged: TypedContractEvent; }; }