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 type KeysStructStruct = { keyType: BigNumberish; publicKey: BytesLike; isEd25519: boolean; }; export type KeysStructStructOutput = [ keyType: bigint, publicKey: string, isEd25519: boolean ] & { keyType: bigint; publicKey: string; isEd25519: boolean; }; export declare namespace IHederaTokenManager { type UpdateTokenStructStruct = { tokenName: string; tokenSymbol: string; keys: KeysStructStruct[]; second: BigNumberish; autoRenewPeriod: BigNumberish; tokenMetadataURI: string; }; type UpdateTokenStructStructOutput = [ tokenName: string, tokenSymbol: string, keys: KeysStructStructOutput[], second: bigint, autoRenewPeriod: bigint, tokenMetadataURI: string ] & { tokenName: string; tokenSymbol: string; keys: KeysStructStructOutput[]; second: bigint; autoRenewPeriod: bigint; tokenMetadataURI: string; }; } export interface IHederaTokenManagerInterface extends Interface { getFunction(nameOrSignature: "balanceOf" | "decimals" | "getMetadata" | "name" | "symbol" | "totalSupply" | "updateToken"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "MetadataSet" | "TokenUpdated"): EventFragment; encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "getMetadata", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "updateToken", values: [IHederaTokenManager.UpdateTokenStructStruct]): string; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMetadata", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateToken", data: BytesLike): Result; } export declare namespace MetadataSetEvent { type InputTuple = [admin: AddressLike, metadata: string]; type OutputTuple = [admin: string, metadata: string]; interface OutputObject { admin: string; metadata: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TokenUpdatedEvent { type InputTuple = [ token: AddressLike, updateTokenStruct: IHederaTokenManager.UpdateTokenStructStruct ]; type OutputTuple = [ token: string, updateTokenStruct: IHederaTokenManager.UpdateTokenStructStructOutput ]; interface OutputObject { token: string; updateTokenStruct: IHederaTokenManager.UpdateTokenStructStructOutput; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IHederaTokenManager extends BaseContract { connect(runner?: ContractRunner | null): IHederaTokenManager; waitForDeployment(): Promise; interface: IHederaTokenManagerInterface; 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<[account: AddressLike], [bigint], "view">; decimals: TypedContractMethod<[], [bigint], "view">; getMetadata: TypedContractMethod<[], [string], "view">; name: TypedContractMethod<[], [string], "view">; symbol: TypedContractMethod<[], [string], "view">; totalSupply: TypedContractMethod<[], [bigint], "view">; updateToken: TypedContractMethod<[ updatedToken: IHederaTokenManager.UpdateTokenStructStruct ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getMetadata"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "updateToken"): TypedContractMethod<[ updatedToken: IHederaTokenManager.UpdateTokenStructStruct ], [ void ], "nonpayable">; getEvent(key: "MetadataSet"): TypedContractEvent; getEvent(key: "TokenUpdated"): TypedContractEvent; filters: { "MetadataSet(address,string)": TypedContractEvent; MetadataSet: TypedContractEvent; "TokenUpdated(address,tuple)": TypedContractEvent; TokenUpdated: TypedContractEvent; }; }