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 IUserSettingsInterface extends Interface { getFunction(nameOrSignature: "getActionAuthorization" | "getAuthorizedCost" | "isActionAuthorized" | "multicall" | "setActionAuthorization" | "setAuthorizedCost"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "ActionAuthorizationUpdated" | "AuthorizedCostUpdated"): EventFragment; encodeFunctionData(functionFragment: "getActionAuthorization", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "getAuthorizedCost", values: [AddressLike]): string; encodeFunctionData(functionFragment: "isActionAuthorized", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "multicall", values: [BytesLike[]]): string; encodeFunctionData(functionFragment: "setActionAuthorization", values: [AddressLike, BigNumberish[], boolean[]]): string; encodeFunctionData(functionFragment: "setAuthorizedCost", values: [BigNumberish]): string; decodeFunctionResult(functionFragment: "getActionAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAuthorizedCost", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isActionAuthorized", data: BytesLike): Result; decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setActionAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAuthorizedCost", data: BytesLike): Result; } export declare namespace ActionAuthorizationUpdatedEvent { type InputTuple = [ user: AddressLike, operator: AddressLike, actions: BigNumberish[], authorization: boolean[] ]; type OutputTuple = [ user: string, operator: string, actions: bigint[], authorization: boolean[] ]; interface OutputObject { user: string; operator: string; actions: bigint[]; authorization: boolean[]; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AuthorizedCostUpdatedEvent { type InputTuple = [user: AddressLike, amount: BigNumberish]; type OutputTuple = [user: string, amount: bigint]; interface OutputObject { user: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IUserSettings extends BaseContract { connect(runner?: ContractRunner | null): IUserSettings; waitForDeployment(): Promise; interface: IUserSettingsInterface; 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; getActionAuthorization: TypedContractMethod<[ user: AddressLike, operator: AddressLike ], [ [bigint[], boolean[]] & { actions: bigint[]; authorization: boolean[]; } ], "view">; getAuthorizedCost: TypedContractMethod<[user: AddressLike], [bigint], "view">; isActionAuthorized: TypedContractMethod<[ user: AddressLike, operator: AddressLike, action: BigNumberish ], [ boolean ], "view">; multicall: TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">; setActionAuthorization: TypedContractMethod<[ operator: AddressLike, actions: BigNumberish[], authorization: boolean[] ], [ void ], "nonpayable">; setAuthorizedCost: TypedContractMethod<[ amount: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "getActionAuthorization"): TypedContractMethod<[ user: AddressLike, operator: AddressLike ], [ [bigint[], boolean[]] & { actions: bigint[]; authorization: boolean[]; } ], "view">; getFunction(nameOrSignature: "getAuthorizedCost"): TypedContractMethod<[user: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "isActionAuthorized"): TypedContractMethod<[ user: AddressLike, operator: AddressLike, action: BigNumberish ], [ boolean ], "view">; getFunction(nameOrSignature: "multicall"): TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">; getFunction(nameOrSignature: "setActionAuthorization"): TypedContractMethod<[ operator: AddressLike, actions: BigNumberish[], authorization: boolean[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setAuthorizedCost"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; getEvent(key: "ActionAuthorizationUpdated"): TypedContractEvent; getEvent(key: "AuthorizedCostUpdated"): TypedContractEvent; filters: { "ActionAuthorizationUpdated(address,address,uint8[],bool[])": TypedContractEvent; ActionAuthorizationUpdated: TypedContractEvent; "AuthorizedCostUpdated(address,uint256)": TypedContractEvent; AuthorizedCostUpdated: TypedContractEvent; }; }