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 ArianeeStakingInterface extends Interface { getFunction(nameOrSignature: "stake" | "stakeFor" | "stakeWithMinimal" | "transferOwnership" | "udpateFees" | "unlockStakeWithFee" | "unstake" | "updateAriaUSDExchange" | "updateDefaultLockInDuration" | "updateFeesReceiver" | "updateMinimalUSDStakable" | "ariaUSDExchange" | "defaultLockInDuration" | "feesReceiver" | "getPersonalStakeActualAmounts" | "getPersonalStakeForAddresses" | "getPersonalStakes" | "getPersonalStakeUnlockedTimestamps" | "minimalUSDStakable" | "owner" | "stakeHolders" | "supportsHistory" | "token" | "totalStaked" | "totalStakedFor"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "newStake" | "OwnershipTransferred" | "Staked" | "Unstaked"): EventFragment; encodeFunctionData(functionFragment: "stake", values: [BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "stakeFor", values: [AddressLike, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "stakeWithMinimal", values: [BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; encodeFunctionData(functionFragment: "udpateFees", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "unlockStakeWithFee", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "unstake", values: [BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "updateAriaUSDExchange", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "updateDefaultLockInDuration", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "updateFeesReceiver", values: [AddressLike]): string; encodeFunctionData(functionFragment: "updateMinimalUSDStakable", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "ariaUSDExchange", values?: undefined): string; encodeFunctionData(functionFragment: "defaultLockInDuration", values?: undefined): string; encodeFunctionData(functionFragment: "feesReceiver", values?: undefined): string; encodeFunctionData(functionFragment: "getPersonalStakeActualAmounts", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getPersonalStakeForAddresses", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getPersonalStakes", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getPersonalStakeUnlockedTimestamps", values: [AddressLike]): string; encodeFunctionData(functionFragment: "minimalUSDStakable", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "stakeHolders", values: [AddressLike]): string; encodeFunctionData(functionFragment: "supportsHistory", values?: undefined): string; encodeFunctionData(functionFragment: "token", values?: undefined): string; encodeFunctionData(functionFragment: "totalStaked", values?: undefined): string; encodeFunctionData(functionFragment: "totalStakedFor", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stakeFor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stakeWithMinimal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "udpateFees", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unlockStakeWithFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unstake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateAriaUSDExchange", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateDefaultLockInDuration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateFeesReceiver", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateMinimalUSDStakable", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ariaUSDExchange", data: BytesLike): Result; decodeFunctionResult(functionFragment: "defaultLockInDuration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feesReceiver", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPersonalStakeActualAmounts", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPersonalStakeForAddresses", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPersonalStakes", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPersonalStakeUnlockedTimestamps", data: BytesLike): Result; decodeFunctionResult(functionFragment: "minimalUSDStakable", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stakeHolders", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsHistory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalStaked", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalStakedFor", data: BytesLike): Result; } export declare namespace newStakeEvent { type InputTuple = [_amount: BigNumberish, staker: AddressLike]; type OutputTuple = [_amount: bigint, staker: string]; interface OutputObject { _amount: bigint; staker: 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 StakedEvent { type InputTuple = [ user: AddressLike, amount: BigNumberish, total: BigNumberish, data: BytesLike ]; type OutputTuple = [ user: string, amount: bigint, total: bigint, data: string ]; interface OutputObject { user: string; amount: bigint; total: bigint; data: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UnstakedEvent { type InputTuple = [ user: AddressLike, amount: BigNumberish, total: BigNumberish, data: BytesLike ]; type OutputTuple = [ user: string, amount: bigint, total: bigint, data: string ]; interface OutputObject { user: string; amount: bigint; total: bigint; data: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ArianeeStaking extends BaseContract { connect(runner?: ContractRunner | null): ArianeeStaking; waitForDeployment(): Promise; interface: ArianeeStakingInterface; 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; stake: TypedContractMethod<[ _amount: BigNumberish, _data: BytesLike ], [ void ], "nonpayable">; stakeFor: TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish, _data: BytesLike ], [ void ], "nonpayable">; stakeWithMinimal: TypedContractMethod<[ _amount: BigNumberish, _data: BytesLike ], [ void ], "nonpayable">; transferOwnership: TypedContractMethod<[ _newOwner: AddressLike ], [ void ], "nonpayable">; udpateFees: TypedContractMethod<[_fees: BigNumberish], [void], "nonpayable">; unlockStakeWithFee: TypedContractMethod<[ _staker: AddressLike, _percentUnstake: BigNumberish ], [ void ], "nonpayable">; unstake: TypedContractMethod<[ _amount: BigNumberish, _data: BytesLike ], [ void ], "nonpayable">; updateAriaUSDExchange: TypedContractMethod<[ _newAriaUSDExchange: BigNumberish ], [ void ], "nonpayable">; updateDefaultLockInDuration: TypedContractMethod<[ _defaultLockInDuration: BigNumberish ], [ void ], "nonpayable">; updateFeesReceiver: TypedContractMethod<[ _newFeesReceiver: AddressLike ], [ void ], "nonpayable">; updateMinimalUSDStakable: TypedContractMethod<[ _newMinimalUSDStakable: BigNumberish ], [ void ], "nonpayable">; ariaUSDExchange: TypedContractMethod<[], [bigint], "view">; defaultLockInDuration: TypedContractMethod<[], [bigint], "view">; feesReceiver: TypedContractMethod<[], [string], "view">; getPersonalStakeActualAmounts: TypedContractMethod<[ _address: AddressLike ], [ bigint[] ], "view">; getPersonalStakeForAddresses: TypedContractMethod<[ _address: AddressLike ], [ string[] ], "view">; getPersonalStakes: TypedContractMethod<[ _address: AddressLike ], [ [bigint[], bigint[], string[]] ], "view">; getPersonalStakeUnlockedTimestamps: TypedContractMethod<[ _address: AddressLike ], [ bigint[] ], "view">; minimalUSDStakable: TypedContractMethod<[], [bigint], "view">; owner: TypedContractMethod<[], [string], "view">; stakeHolders: TypedContractMethod<[ arg0: AddressLike ], [ [ bigint, bigint, boolean ] & { totalStakedFor: bigint; personalStakeIndex: bigint; exists: boolean; } ], "view">; supportsHistory: TypedContractMethod<[], [boolean], "view">; token: TypedContractMethod<[], [string], "view">; totalStaked: TypedContractMethod<[], [bigint], "view">; totalStakedFor: TypedContractMethod<[ _address: AddressLike ], [ bigint ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "stake"): TypedContractMethod<[ _amount: BigNumberish, _data: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "stakeFor"): TypedContractMethod<[ _user: AddressLike, _amount: BigNumberish, _data: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "stakeWithMinimal"): TypedContractMethod<[ _amount: BigNumberish, _data: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[_newOwner: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "udpateFees"): TypedContractMethod<[_fees: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "unlockStakeWithFee"): TypedContractMethod<[ _staker: AddressLike, _percentUnstake: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "unstake"): TypedContractMethod<[ _amount: BigNumberish, _data: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateAriaUSDExchange"): TypedContractMethod<[ _newAriaUSDExchange: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateDefaultLockInDuration"): TypedContractMethod<[ _defaultLockInDuration: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateFeesReceiver"): TypedContractMethod<[_newFeesReceiver: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "updateMinimalUSDStakable"): TypedContractMethod<[ _newMinimalUSDStakable: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "ariaUSDExchange"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "defaultLockInDuration"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "feesReceiver"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getPersonalStakeActualAmounts"): TypedContractMethod<[_address: AddressLike], [bigint[]], "view">; getFunction(nameOrSignature: "getPersonalStakeForAddresses"): TypedContractMethod<[_address: AddressLike], [string[]], "view">; getFunction(nameOrSignature: "getPersonalStakes"): TypedContractMethod<[ _address: AddressLike ], [ [bigint[], bigint[], string[]] ], "view">; getFunction(nameOrSignature: "getPersonalStakeUnlockedTimestamps"): TypedContractMethod<[_address: AddressLike], [bigint[]], "view">; getFunction(nameOrSignature: "minimalUSDStakable"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "stakeHolders"): TypedContractMethod<[ arg0: AddressLike ], [ [ bigint, bigint, boolean ] & { totalStakedFor: bigint; personalStakeIndex: bigint; exists: boolean; } ], "view">; getFunction(nameOrSignature: "supportsHistory"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "token"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "totalStaked"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "totalStakedFor"): TypedContractMethod<[_address: AddressLike], [bigint], "view">; getEvent(key: "newStake"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "Staked"): TypedContractEvent; getEvent(key: "Unstaked"): TypedContractEvent; filters: { "newStake(uint256,address)": TypedContractEvent; newStake: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "Staked(address,uint256,uint256,bytes)": TypedContractEvent; Staked: TypedContractEvent; "Unstaked(address,uint256,uint256,bytes)": TypedContractEvent; Unstaked: TypedContractEvent; }; }