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 ReserveFacetInterface extends Interface { getFunction(nameOrSignature: "getReserveAddress" | "getReserveAmount" | "getStaticFunctionSelectors" | "getStaticInterfaceIds" | "getStaticResolverKey" | "getUpdatedAtThreshold" | "updateReserveAddress" | "updateUpdatedAtThreshold"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Initialized" | "ReserveAddressChanged" | "RoleAdded" | "RoleGranted" | "RoleRemoved" | "RoleRevoked" | "TokenTransfer" | "UpdatedAtThresholdChanged"): EventFragment; encodeFunctionData(functionFragment: "getReserveAddress", values?: undefined): string; encodeFunctionData(functionFragment: "getReserveAmount", values?: undefined): string; encodeFunctionData(functionFragment: "getStaticFunctionSelectors", values?: undefined): string; encodeFunctionData(functionFragment: "getStaticInterfaceIds", values?: undefined): string; encodeFunctionData(functionFragment: "getStaticResolverKey", values?: undefined): string; encodeFunctionData(functionFragment: "getUpdatedAtThreshold", values?: undefined): string; encodeFunctionData(functionFragment: "updateReserveAddress", values: [AddressLike]): string; encodeFunctionData(functionFragment: "updateUpdatedAtThreshold", values: [BigNumberish]): string; decodeFunctionResult(functionFragment: "getReserveAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReserveAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getStaticFunctionSelectors", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getStaticInterfaceIds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getStaticResolverKey", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUpdatedAtThreshold", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateReserveAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateUpdatedAtThreshold", data: BytesLike): Result; } export declare namespace InitializedEvent { type InputTuple = [facet: BytesLike]; type OutputTuple = [facet: string]; interface OutputObject { facet: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ReserveAddressChangedEvent { type InputTuple = [ previousAddress: AddressLike, newAddress: AddressLike ]; type OutputTuple = [previousAddress: string, newAddress: string]; interface OutputObject { previousAddress: string; newAddress: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RoleAddedEvent { type InputTuple = [role: BytesLike, sender: AddressLike]; type OutputTuple = [role: string, sender: string]; interface OutputObject { role: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RoleGrantedEvent { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [role: string, account: string, sender: string]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RoleRemovedEvent { type InputTuple = [pos: BigNumberish, sender: AddressLike]; type OutputTuple = [pos: bigint, sender: string]; interface OutputObject { pos: bigint; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RoleRevokedEvent { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [role: string, account: string, sender: string]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TokenTransferEvent { type InputTuple = [ token: AddressLike, sender: AddressLike, receiver: AddressLike, amount: BigNumberish ]; type OutputTuple = [ token: string, sender: string, receiver: string, amount: bigint ]; interface OutputObject { token: string; sender: string; receiver: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdatedAtThresholdChangedEvent { type InputTuple = [ previousThreshold: BigNumberish, newThreshold: BigNumberish ]; type OutputTuple = [previousThreshold: bigint, newThreshold: bigint]; interface OutputObject { previousThreshold: bigint; newThreshold: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ReserveFacet extends BaseContract { connect(runner?: ContractRunner | null): ReserveFacet; waitForDeployment(): Promise; interface: ReserveFacetInterface; 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; getReserveAddress: TypedContractMethod<[], [string], "view">; getReserveAmount: TypedContractMethod<[ ], [ [bigint, bigint] & { amount: bigint; updatedAt: bigint; } ], "view">; getStaticFunctionSelectors: TypedContractMethod<[], [string[]], "view">; getStaticInterfaceIds: TypedContractMethod<[], [string[]], "view">; getStaticResolverKey: TypedContractMethod<[], [string], "view">; getUpdatedAtThreshold: TypedContractMethod<[], [bigint], "view">; updateReserveAddress: TypedContractMethod<[ newAddress: AddressLike ], [ void ], "nonpayable">; updateUpdatedAtThreshold: TypedContractMethod<[ newThreshold: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "getReserveAddress"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getReserveAmount"): TypedContractMethod<[ ], [ [bigint, bigint] & { amount: bigint; updatedAt: bigint; } ], "view">; getFunction(nameOrSignature: "getStaticFunctionSelectors"): TypedContractMethod<[], [string[]], "view">; getFunction(nameOrSignature: "getStaticInterfaceIds"): TypedContractMethod<[], [string[]], "view">; getFunction(nameOrSignature: "getStaticResolverKey"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getUpdatedAtThreshold"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "updateReserveAddress"): TypedContractMethod<[newAddress: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "updateUpdatedAtThreshold"): TypedContractMethod<[newThreshold: BigNumberish], [void], "nonpayable">; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "ReserveAddressChanged"): TypedContractEvent; getEvent(key: "RoleAdded"): TypedContractEvent; getEvent(key: "RoleGranted"): TypedContractEvent; getEvent(key: "RoleRemoved"): TypedContractEvent; getEvent(key: "RoleRevoked"): TypedContractEvent; getEvent(key: "TokenTransfer"): TypedContractEvent; getEvent(key: "UpdatedAtThresholdChanged"): TypedContractEvent; filters: { "Initialized(bytes32)": TypedContractEvent; Initialized: TypedContractEvent; "ReserveAddressChanged(address,address)": TypedContractEvent; ReserveAddressChanged: TypedContractEvent; "RoleAdded(bytes32,address)": TypedContractEvent; RoleAdded: TypedContractEvent; "RoleGranted(bytes32,address,address)": TypedContractEvent; RoleGranted: TypedContractEvent; "RoleRemoved(uint256,address)": TypedContractEvent; RoleRemoved: TypedContractEvent; "RoleRevoked(bytes32,address,address)": TypedContractEvent; RoleRevoked: TypedContractEvent; "TokenTransfer(address,address,address,int64)": TypedContractEvent; TokenTransfer: TypedContractEvent; "UpdatedAtThresholdChanged(uint256,uint256)": TypedContractEvent; UpdatedAtThresholdChanged: TypedContractEvent; }; }