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 ArianeeCreditHistoryInterface extends Interface { getFunction(nameOrSignature: "balanceOf" | "userCreditHistory" | "userIndex" | "owner" | "addCreditHistory" | "setArianeeStoreAddress" | "consumeCredits" | "arianeeStoreAddress" | "transferOwnership"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "SetAddress" | "OwnershipTransferred"): EventFragment; encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "userCreditHistory", values: [AddressLike, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "userIndex", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "addCreditHistory", values: [AddressLike, BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "setArianeeStoreAddress", values: [AddressLike]): string; encodeFunctionData(functionFragment: "consumeCredits", values: [AddressLike, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "arianeeStoreAddress", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userCreditHistory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userIndex", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addCreditHistory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setArianeeStoreAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "consumeCredits", data: BytesLike): Result; decodeFunctionResult(functionFragment: "arianeeStoreAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; } export declare namespace SetAddressEvent { type InputTuple = [_addressType: string, _newAddress: AddressLike]; type OutputTuple = [_addressType: string, _newAddress: string]; interface OutputObject { _addressType: string; _newAddress: 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 interface ArianeeCreditHistory extends BaseContract { connect(runner?: ContractRunner | null): ArianeeCreditHistory; waitForDeployment(): Promise; interface: ArianeeCreditHistoryInterface; 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; balanceOf: TypedContractMethod<[ _spender: AddressLike, _type: BigNumberish ], [ bigint ], "view">; userCreditHistory: TypedContractMethod<[ _spender: AddressLike, _type: BigNumberish, _index: BigNumberish ], [ [bigint, bigint] & { _price: bigint; _quantity: bigint; } ], "view">; userIndex: TypedContractMethod<[ _spender: AddressLike, _type: BigNumberish ], [ bigint ], "view">; owner: TypedContractMethod<[], [string], "view">; addCreditHistory: TypedContractMethod<[ _spender: AddressLike, _price: BigNumberish, _quantity: BigNumberish, _type: BigNumberish ], [ void ], "nonpayable">; setArianeeStoreAddress: TypedContractMethod<[ _newArianeeStoreAdress: AddressLike ], [ void ], "nonpayable">; consumeCredits: TypedContractMethod<[ _spender: AddressLike, _type: BigNumberish, _quantity: BigNumberish ], [ bigint ], "nonpayable">; arianeeStoreAddress: TypedContractMethod<[], [string], "view">; transferOwnership: TypedContractMethod<[ _newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[ _spender: AddressLike, _type: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "userCreditHistory"): TypedContractMethod<[ _spender: AddressLike, _type: BigNumberish, _index: BigNumberish ], [ [bigint, bigint] & { _price: bigint; _quantity: bigint; } ], "view">; getFunction(nameOrSignature: "userIndex"): TypedContractMethod<[ _spender: AddressLike, _type: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "addCreditHistory"): TypedContractMethod<[ _spender: AddressLike, _price: BigNumberish, _quantity: BigNumberish, _type: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setArianeeStoreAddress"): TypedContractMethod<[ _newArianeeStoreAdress: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "consumeCredits"): TypedContractMethod<[ _spender: AddressLike, _type: BigNumberish, _quantity: BigNumberish ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "arianeeStoreAddress"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[_newOwner: AddressLike], [void], "nonpayable">; getEvent(key: "SetAddress"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; filters: { "SetAddress(string,address)": TypedContractEvent; SetAddress: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; }; }