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 RateLimiter { type ConfigStruct = { isEnabled: boolean; capacity: BigNumberish; rate: BigNumberish; }; type ConfigStructOutput = [ isEnabled: boolean, capacity: bigint, rate: bigint ] & { isEnabled: boolean; capacity: bigint; rate: bigint; }; type TokenBucketStruct = { tokens: BigNumberish; lastUpdated: BigNumberish; isEnabled: boolean; capacity: BigNumberish; rate: BigNumberish; }; type TokenBucketStructOutput = [ tokens: bigint, lastUpdated: bigint, isEnabled: boolean, capacity: bigint, rate: bigint ] & { tokens: bigint; lastUpdated: bigint; isEnabled: boolean; capacity: bigint; rate: bigint; }; } export declare namespace ITimelock { type AgreementStruct = { isFrozen: boolean; actionType: BigNumberish; cToken: AddressLike; beneficiary: AddressLike; timestamp: BigNumberish; agreementId: BigNumberish; underlyAmount: BigNumberish; }; type AgreementStructOutput = [ isFrozen: boolean, actionType: bigint, cToken: string, beneficiary: string, timestamp: bigint, agreementId: bigint, underlyAmount: bigint ] & { isFrozen: boolean; actionType: bigint; cToken: string; beneficiary: string; timestamp: bigint; agreementId: bigint; underlyAmount: bigint; }; } export interface TimelockInterface extends Interface { getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE" | "EMERGENCY_ADMIN" | "agreementCount" | "agreements" | "balances" | "claim" | "comptroller" | "consumeValue" | "consumeValuePreview" | "createAgreement" | "currentState" | "freeze" | "freezeAgreement" | "frozen" | "getMinWaitInSeconds" | "getRoleAdmin" | "getRoleMember" | "getRoleMemberCount" | "grantRole" | "hasRole" | "initialize" | "isAgreementMature" | "maxDelay" | "minDelay" | "renounceRole" | "rescueAgreement" | "revokeRole" | "setComptroller" | "setLimiter" | "setMaxDelay" | "setMinDelay" | "setRateLimiterConfig" | "setThreshold" | "supportsInterface" | "threshold" | "unfreeze" | "unfreezeAgreement" | "userAgreements"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AgreementClaimed" | "AgreementCreated" | "AgreementFrozen" | "ConfigChanged" | "Initialized" | "NewLimiter" | "NewMaxDelay" | "NewMinDelay" | "NewThreshold" | "RescueAgreement" | "RoleAdminChanged" | "RoleGranted" | "RoleRevoked" | "TimeLockFrozen" | "TokensConsumed"): EventFragment; encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "EMERGENCY_ADMIN", values?: undefined): string; encodeFunctionData(functionFragment: "agreementCount", values?: undefined): string; encodeFunctionData(functionFragment: "agreements", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "balances", values: [AddressLike]): string; encodeFunctionData(functionFragment: "claim", values: [BigNumberish[]]): string; encodeFunctionData(functionFragment: "comptroller", values?: undefined): string; encodeFunctionData(functionFragment: "consumeValue", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "consumeValuePreview", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "createAgreement", values: [BigNumberish, BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "currentState", values?: undefined): string; encodeFunctionData(functionFragment: "freeze", values?: undefined): string; encodeFunctionData(functionFragment: "freezeAgreement", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "frozen", values?: undefined): string; encodeFunctionData(functionFragment: "getMinWaitInSeconds", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getRoleAdmin", values: [BytesLike]): string; encodeFunctionData(functionFragment: "getRoleMember", values: [BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "getRoleMemberCount", values: [BytesLike]): string; encodeFunctionData(functionFragment: "grantRole", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "hasRole", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "initialize", values: [AddressLike, BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "isAgreementMature", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "maxDelay", values?: undefined): string; encodeFunctionData(functionFragment: "minDelay", values?: undefined): string; encodeFunctionData(functionFragment: "renounceRole", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "rescueAgreement", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "revokeRole", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "setComptroller", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setLimiter", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "setMaxDelay", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setMinDelay", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setRateLimiterConfig", values: [RateLimiter.ConfigStruct]): string; encodeFunctionData(functionFragment: "setThreshold", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "threshold", values?: undefined): string; encodeFunctionData(functionFragment: "unfreeze", values?: undefined): string; encodeFunctionData(functionFragment: "unfreezeAgreement", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "userAgreements", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "EMERGENCY_ADMIN", data: BytesLike): Result; decodeFunctionResult(functionFragment: "agreementCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "agreements", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balances", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result; decodeFunctionResult(functionFragment: "comptroller", data: BytesLike): Result; decodeFunctionResult(functionFragment: "consumeValue", data: BytesLike): Result; decodeFunctionResult(functionFragment: "consumeValuePreview", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createAgreement", data: BytesLike): Result; decodeFunctionResult(functionFragment: "currentState", data: BytesLike): Result; decodeFunctionResult(functionFragment: "freeze", data: BytesLike): Result; decodeFunctionResult(functionFragment: "freezeAgreement", data: BytesLike): Result; decodeFunctionResult(functionFragment: "frozen", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMinWaitInSeconds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMember", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleMemberCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isAgreementMature", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxDelay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "minDelay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rescueAgreement", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setComptroller", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setLimiter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setMaxDelay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setMinDelay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setRateLimiterConfig", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setThreshold", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "threshold", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unfreeze", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unfreezeAgreement", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userAgreements", data: BytesLike): Result; } export declare namespace AgreementClaimedEvent { type InputTuple = [ agreementId: BigNumberish, beneficiary: AddressLike, asset: AddressLike, actionType: BigNumberish, amount: BigNumberish ]; type OutputTuple = [ agreementId: bigint, beneficiary: string, asset: string, actionType: bigint, amount: bigint ]; interface OutputObject { agreementId: bigint; beneficiary: string; asset: string; actionType: bigint; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AgreementCreatedEvent { type InputTuple = [ agreementId: BigNumberish, beneficiary: AddressLike, asset: AddressLike, actionType: BigNumberish, amount: BigNumberish, timestamp: BigNumberish ]; type OutputTuple = [ agreementId: bigint, beneficiary: string, asset: string, actionType: bigint, amount: bigint, timestamp: bigint ]; interface OutputObject { agreementId: bigint; beneficiary: string; asset: string; actionType: bigint; amount: bigint; timestamp: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AgreementFrozenEvent { type InputTuple = [agreementId: BigNumberish, value: boolean]; type OutputTuple = [agreementId: bigint, value: boolean]; interface OutputObject { agreementId: bigint; value: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ConfigChangedEvent { type InputTuple = [config: RateLimiter.ConfigStruct]; type OutputTuple = [config: RateLimiter.ConfigStructOutput]; interface OutputObject { config: RateLimiter.ConfigStructOutput; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace InitializedEvent { type InputTuple = [version: BigNumberish]; type OutputTuple = [version: bigint]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewLimiterEvent { type InputTuple = [ oldRate: BigNumberish, newRate: BigNumberish, oldCapacity: BigNumberish, newCapacity: BigNumberish ]; type OutputTuple = [ oldRate: bigint, newRate: bigint, oldCapacity: bigint, newCapacity: bigint ]; interface OutputObject { oldRate: bigint; newRate: bigint; oldCapacity: bigint; newCapacity: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewMaxDelayEvent { type InputTuple = [oldValue: BigNumberish, newValue: BigNumberish]; type OutputTuple = [oldValue: bigint, newValue: bigint]; interface OutputObject { oldValue: bigint; newValue: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewMinDelayEvent { type InputTuple = [oldValue: BigNumberish, newValue: BigNumberish]; type OutputTuple = [oldValue: bigint, newValue: bigint]; interface OutputObject { oldValue: bigint; newValue: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewThresholdEvent { type InputTuple = [oldValue: BigNumberish, newValue: BigNumberish]; type OutputTuple = [oldValue: bigint, newValue: bigint]; interface OutputObject { oldValue: bigint; newValue: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RescueAgreementEvent { type InputTuple = [ agreementId: BigNumberish, underlyToken: AddressLike, to: AddressLike, underlyAmount: BigNumberish ]; type OutputTuple = [ agreementId: bigint, underlyToken: string, to: string, underlyAmount: bigint ]; interface OutputObject { agreementId: bigint; underlyToken: string; to: string; underlyAmount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RoleAdminChangedEvent { type InputTuple = [ role: BytesLike, previousAdminRole: BytesLike, newAdminRole: BytesLike ]; type OutputTuple = [ role: string, previousAdminRole: string, newAdminRole: string ]; interface OutputObject { role: string; previousAdminRole: string; newAdminRole: 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 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 TimeLockFrozenEvent { type InputTuple = [value: boolean]; type OutputTuple = [value: boolean]; interface OutputObject { value: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TokensConsumedEvent { type InputTuple = [tokens: BigNumberish]; type OutputTuple = [tokens: bigint]; interface OutputObject { tokens: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface Timelock extends BaseContract { connect(runner?: ContractRunner | null): Timelock; waitForDeployment(): Promise; interface: TimelockInterface; 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; DEFAULT_ADMIN_ROLE: TypedContractMethod<[], [string], "view">; EMERGENCY_ADMIN: TypedContractMethod<[], [string], "view">; agreementCount: TypedContractMethod<[], [bigint], "view">; agreements: TypedContractMethod<[ arg0: BigNumberish ], [ [ boolean, bigint, string, string, bigint, bigint, bigint ] & { isFrozen: boolean; actionType: bigint; cToken: string; beneficiary: string; timestamp: bigint; agreementId: bigint; underlyAmount: bigint; } ], "view">; balances: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; claim: TypedContractMethod<[ agreementIds: BigNumberish[] ], [ void ], "nonpayable">; comptroller: TypedContractMethod<[], [string], "view">; consumeValue: TypedContractMethod<[ underlyAmount: BigNumberish ], [ void ], "nonpayable">; consumeValuePreview: TypedContractMethod<[ underlyAmount: BigNumberish, cToken: AddressLike ], [ boolean ], "view">; createAgreement: TypedContractMethod<[ actionType: BigNumberish, underlyAmount: BigNumberish, beneficiary: AddressLike ], [ bigint ], "nonpayable">; currentState: TypedContractMethod<[ ], [ RateLimiter.TokenBucketStructOutput ], "view">; freeze: TypedContractMethod<[], [void], "nonpayable">; freezeAgreement: TypedContractMethod<[ agreementId: BigNumberish ], [ void ], "nonpayable">; frozen: TypedContractMethod<[], [boolean], "view">; getMinWaitInSeconds: TypedContractMethod<[ agreementId: BigNumberish ], [ bigint ], "view">; getRoleAdmin: TypedContractMethod<[role: BytesLike], [string], "view">; getRoleMember: TypedContractMethod<[ role: BytesLike, index: BigNumberish ], [ string ], "view">; getRoleMemberCount: TypedContractMethod<[role: BytesLike], [bigint], "view">; grantRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; hasRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; initialize: TypedContractMethod<[ _admin: AddressLike, rate: BigNumberish, capacity: BigNumberish, _threshold: BigNumberish ], [ void ], "nonpayable">; isAgreementMature: TypedContractMethod<[ agreementId: BigNumberish ], [ boolean ], "view">; maxDelay: TypedContractMethod<[], [bigint], "view">; minDelay: TypedContractMethod<[], [bigint], "view">; renounceRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; rescueAgreement: TypedContractMethod<[ agreementId: BigNumberish, to: AddressLike ], [ void ], "nonpayable">; revokeRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; setComptroller: TypedContractMethod<[ _comptroller: AddressLike ], [ void ], "nonpayable">; setLimiter: TypedContractMethod<[ newRate: BigNumberish, newCapacity: BigNumberish ], [ void ], "nonpayable">; setMaxDelay: TypedContractMethod<[ newMaxDelayInSeconds: BigNumberish ], [ void ], "nonpayable">; setMinDelay: TypedContractMethod<[ newMinDelayInSeconds: BigNumberish ], [ void ], "nonpayable">; setRateLimiterConfig: TypedContractMethod<[ config: RateLimiter.ConfigStruct ], [ void ], "nonpayable">; setThreshold: TypedContractMethod<[ newThreshold: BigNumberish ], [ void ], "nonpayable">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; threshold: TypedContractMethod<[], [bigint], "view">; unfreeze: TypedContractMethod<[], [void], "nonpayable">; unfreezeAgreement: TypedContractMethod<[ agreementId: BigNumberish ], [ void ], "nonpayable">; userAgreements: TypedContractMethod<[ user: AddressLike ], [ ITimelock.AgreementStructOutput[] ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "EMERGENCY_ADMIN"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "agreementCount"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "agreements"): TypedContractMethod<[ arg0: BigNumberish ], [ [ boolean, bigint, string, string, bigint, bigint, bigint ] & { isFrozen: boolean; actionType: bigint; cToken: string; beneficiary: string; timestamp: bigint; agreementId: bigint; underlyAmount: bigint; } ], "view">; getFunction(nameOrSignature: "balances"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "claim"): TypedContractMethod<[agreementIds: BigNumberish[]], [void], "nonpayable">; getFunction(nameOrSignature: "comptroller"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "consumeValue"): TypedContractMethod<[underlyAmount: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "consumeValuePreview"): TypedContractMethod<[ underlyAmount: BigNumberish, cToken: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "createAgreement"): TypedContractMethod<[ actionType: BigNumberish, underlyAmount: BigNumberish, beneficiary: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "currentState"): TypedContractMethod<[], [RateLimiter.TokenBucketStructOutput], "view">; getFunction(nameOrSignature: "freeze"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "freezeAgreement"): TypedContractMethod<[agreementId: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "frozen"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "getMinWaitInSeconds"): TypedContractMethod<[agreementId: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "getRoleAdmin"): TypedContractMethod<[role: BytesLike], [string], "view">; getFunction(nameOrSignature: "getRoleMember"): TypedContractMethod<[ role: BytesLike, index: BigNumberish ], [ string ], "view">; getFunction(nameOrSignature: "getRoleMemberCount"): TypedContractMethod<[role: BytesLike], [bigint], "view">; getFunction(nameOrSignature: "grantRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "hasRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[ _admin: AddressLike, rate: BigNumberish, capacity: BigNumberish, _threshold: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "isAgreementMature"): TypedContractMethod<[agreementId: BigNumberish], [boolean], "view">; getFunction(nameOrSignature: "maxDelay"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "minDelay"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "renounceRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "rescueAgreement"): TypedContractMethod<[ agreementId: BigNumberish, to: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "revokeRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setComptroller"): TypedContractMethod<[_comptroller: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setLimiter"): TypedContractMethod<[ newRate: BigNumberish, newCapacity: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setMaxDelay"): TypedContractMethod<[ newMaxDelayInSeconds: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setMinDelay"): TypedContractMethod<[ newMinDelayInSeconds: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setRateLimiterConfig"): TypedContractMethod<[ config: RateLimiter.ConfigStruct ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setThreshold"): TypedContractMethod<[newThreshold: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">; getFunction(nameOrSignature: "threshold"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "unfreeze"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "unfreezeAgreement"): TypedContractMethod<[agreementId: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "userAgreements"): TypedContractMethod<[ user: AddressLike ], [ ITimelock.AgreementStructOutput[] ], "view">; getEvent(key: "AgreementClaimed"): TypedContractEvent; getEvent(key: "AgreementCreated"): TypedContractEvent; getEvent(key: "AgreementFrozen"): TypedContractEvent; getEvent(key: "ConfigChanged"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "NewLimiter"): TypedContractEvent; getEvent(key: "NewMaxDelay"): TypedContractEvent; getEvent(key: "NewMinDelay"): TypedContractEvent; getEvent(key: "NewThreshold"): TypedContractEvent; getEvent(key: "RescueAgreement"): TypedContractEvent; getEvent(key: "RoleAdminChanged"): TypedContractEvent; getEvent(key: "RoleGranted"): TypedContractEvent; getEvent(key: "RoleRevoked"): TypedContractEvent; getEvent(key: "TimeLockFrozen"): TypedContractEvent; getEvent(key: "TokensConsumed"): TypedContractEvent; filters: { "AgreementClaimed(uint256,address,address,uint8,uint256)": TypedContractEvent; AgreementClaimed: TypedContractEvent; "AgreementCreated(uint256,address,address,uint8,uint256,uint256)": TypedContractEvent; AgreementCreated: TypedContractEvent; "AgreementFrozen(uint256,bool)": TypedContractEvent; AgreementFrozen: TypedContractEvent; "ConfigChanged(tuple)": TypedContractEvent; ConfigChanged: TypedContractEvent; "Initialized(uint8)": TypedContractEvent; Initialized: TypedContractEvent; "NewLimiter(uint256,uint256,uint256,uint256)": TypedContractEvent; NewLimiter: TypedContractEvent; "NewMaxDelay(uint48,uint48)": TypedContractEvent; NewMaxDelay: TypedContractEvent; "NewMinDelay(uint48,uint48)": TypedContractEvent; NewMinDelay: TypedContractEvent; "NewThreshold(uint256,uint256)": TypedContractEvent; NewThreshold: TypedContractEvent; "RescueAgreement(uint256,address,address,uint256)": TypedContractEvent; RescueAgreement: TypedContractEvent; "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent; RoleAdminChanged: TypedContractEvent; "RoleGranted(bytes32,address,address)": TypedContractEvent; RoleGranted: TypedContractEvent; "RoleRevoked(bytes32,address,address)": TypedContractEvent; RoleRevoked: TypedContractEvent; "TimeLockFrozen(bool)": TypedContractEvent; TimeLockFrozen: TypedContractEvent; "TokensConsumed(uint256)": TypedContractEvent; TokensConsumed: TypedContractEvent; }; }