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 interface ExitErc20Interface extends Interface { getFunction(nameOrSignature: "addToDenyList" | "avatar" | "circulatingSupply" | "deniedTokens" | "designatedToken" | "exit" | "getCirculatingSupply" | "getGuard" | "guard" | "owner" | "removeFromDenyList" | "renounceOwnership" | "setAvatar" | "setCirculatingSupply" | "setDesignatedToken" | "setGuard" | "setTarget" | "setUp" | "supportsInterface" | "target" | "transferOwnership"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AvatarSet" | "ChangedGuard" | "ExitModuleSetup" | "ExitSuccessful" | "OwnershipTransferred" | "TargetSet"): EventFragment; encodeFunctionData(functionFragment: "addToDenyList", values: [AddressLike[]]): string; encodeFunctionData(functionFragment: "avatar", values?: undefined): string; encodeFunctionData(functionFragment: "circulatingSupply", values?: undefined): string; encodeFunctionData(functionFragment: "deniedTokens", values: [AddressLike]): string; encodeFunctionData(functionFragment: "designatedToken", values?: undefined): string; encodeFunctionData(functionFragment: "exit", values: [BigNumberish, AddressLike[]]): string; encodeFunctionData(functionFragment: "getCirculatingSupply", values?: undefined): string; encodeFunctionData(functionFragment: "getGuard", values?: undefined): string; encodeFunctionData(functionFragment: "guard", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "removeFromDenyList", values: [AddressLike[]]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "setAvatar", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setCirculatingSupply", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setDesignatedToken", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setGuard", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setTarget", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setUp", values: [BytesLike]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "target", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "addToDenyList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "avatar", data: BytesLike): Result; decodeFunctionResult(functionFragment: "circulatingSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deniedTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "designatedToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCirculatingSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGuard", data: BytesLike): Result; decodeFunctionResult(functionFragment: "guard", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeFromDenyList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAvatar", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setCirculatingSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDesignatedToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setGuard", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setTarget", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setUp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "target", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; } export declare namespace AvatarSetEvent { type InputTuple = [ previousAvatar: AddressLike, newAvatar: AddressLike ]; type OutputTuple = [previousAvatar: string, newAvatar: string]; interface OutputObject { previousAvatar: string; newAvatar: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ChangedGuardEvent { type InputTuple = [guard: AddressLike]; type OutputTuple = [guard: string]; interface OutputObject { guard: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ExitModuleSetupEvent { type InputTuple = [initiator: AddressLike, avatar: AddressLike]; type OutputTuple = [initiator: string, avatar: string]; interface OutputObject { initiator: string; avatar: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ExitSuccessfulEvent { type InputTuple = [leaver: AddressLike]; type OutputTuple = [leaver: string]; interface OutputObject { leaver: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OwnershipTransferredEvent { type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; type OutputTuple = [previousOwner: string, newOwner: string]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TargetSetEvent { type InputTuple = [ previousTarget: AddressLike, newTarget: AddressLike ]; type OutputTuple = [previousTarget: string, newTarget: string]; interface OutputObject { previousTarget: string; newTarget: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ExitErc20 extends BaseContract { connect(runner?: ContractRunner | null): ExitErc20; waitForDeployment(): Promise; interface: ExitErc20Interface; 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; addToDenyList: TypedContractMethod<[ tokens: AddressLike[] ], [ void ], "nonpayable">; avatar: TypedContractMethod<[], [string], "view">; circulatingSupply: TypedContractMethod<[], [string], "view">; deniedTokens: TypedContractMethod<[arg0: AddressLike], [boolean], "view">; designatedToken: TypedContractMethod<[], [string], "view">; exit: TypedContractMethod<[ amountToRedeem: BigNumberish, tokens: AddressLike[] ], [ void ], "nonpayable">; getCirculatingSupply: TypedContractMethod<[], [bigint], "view">; getGuard: TypedContractMethod<[], [string], "view">; guard: TypedContractMethod<[], [string], "view">; owner: TypedContractMethod<[], [string], "view">; removeFromDenyList: TypedContractMethod<[ tokens: AddressLike[] ], [ void ], "nonpayable">; renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; setAvatar: TypedContractMethod<[_avatar: AddressLike], [void], "nonpayable">; setCirculatingSupply: TypedContractMethod<[ _circulatingSupply: AddressLike ], [ void ], "nonpayable">; setDesignatedToken: TypedContractMethod<[ _token: AddressLike ], [ void ], "nonpayable">; setGuard: TypedContractMethod<[_guard: AddressLike], [void], "nonpayable">; setTarget: TypedContractMethod<[_target: AddressLike], [void], "nonpayable">; setUp: TypedContractMethod<[initParams: BytesLike], [void], "nonpayable">; supportsInterface: TypedContractMethod<[ interfaceID: BytesLike ], [ boolean ], "view">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "addToDenyList"): TypedContractMethod<[tokens: AddressLike[]], [void], "nonpayable">; getFunction(nameOrSignature: "avatar"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "circulatingSupply"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "deniedTokens"): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "designatedToken"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "exit"): TypedContractMethod<[ amountToRedeem: BigNumberish, tokens: AddressLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getCirculatingSupply"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getGuard"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "guard"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "removeFromDenyList"): TypedContractMethod<[tokens: AddressLike[]], [void], "nonpayable">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "setAvatar"): TypedContractMethod<[_avatar: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setCirculatingSupply"): TypedContractMethod<[ _circulatingSupply: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setDesignatedToken"): TypedContractMethod<[_token: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setGuard"): TypedContractMethod<[_guard: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setTarget"): TypedContractMethod<[_target: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setUp"): TypedContractMethod<[initParams: BytesLike], [void], "nonpayable">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[interfaceID: BytesLike], [boolean], "view">; getFunction(nameOrSignature: "target"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; getEvent(key: "AvatarSet"): TypedContractEvent; getEvent(key: "ChangedGuard"): TypedContractEvent; getEvent(key: "ExitModuleSetup"): TypedContractEvent; getEvent(key: "ExitSuccessful"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "TargetSet"): TypedContractEvent; filters: { "AvatarSet(address,address)": TypedContractEvent; AvatarSet: TypedContractEvent; "ChangedGuard(address)": TypedContractEvent; ChangedGuard: TypedContractEvent; "ExitModuleSetup(address,address)": TypedContractEvent; ExitModuleSetup: TypedContractEvent; "ExitSuccessful(address)": TypedContractEvent; ExitSuccessful: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "TargetSet(address,address)": TypedContractEvent; TargetSet: TypedContractEvent; }; }