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.js'; export type LedgerStruct = { user: AddressLike; availableBalance: BigNumberish; totalBalance: BigNumberish; inferenceSigner: [BigNumberish, BigNumberish]; additionalInfo: string; inferenceProviders: AddressLike[]; fineTuningProviders: AddressLike[]; }; export type LedgerStructOutput = [ user: string, availableBalance: bigint, totalBalance: bigint, inferenceSigner: [bigint, bigint], additionalInfo: string, inferenceProviders: string[], fineTuningProviders: string[] ] & { user: string; availableBalance: bigint; totalBalance: bigint; inferenceSigner: [bigint, bigint]; additionalInfo: string; inferenceProviders: string[]; fineTuningProviders: string[]; }; export interface LedgerManagerInterface extends Interface { getFunction(nameOrSignature: 'addLedger' | 'deleteLedger' | 'depositFund' | 'fineTuningAddress' | 'getAllLedgers' | 'getLedger' | 'inferenceAddress' | 'initialize' | 'initialized' | 'owner' | 'refund' | 'renounceOwnership' | 'retrieveFund' | 'spendFund' | 'transferFund' | 'transferOwnership'): FunctionFragment; getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment; encodeFunctionData(functionFragment: 'addLedger', values: [[BigNumberish, BigNumberish], string]): string; encodeFunctionData(functionFragment: 'deleteLedger', values?: undefined): string; encodeFunctionData(functionFragment: 'depositFund', values?: undefined): string; encodeFunctionData(functionFragment: 'fineTuningAddress', values?: undefined): string; encodeFunctionData(functionFragment: 'getAllLedgers', values?: undefined): string; encodeFunctionData(functionFragment: 'getLedger', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'inferenceAddress', values?: undefined): string; encodeFunctionData(functionFragment: 'initialize', values: [AddressLike, AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: 'initialized', values?: undefined): string; encodeFunctionData(functionFragment: 'owner', values?: undefined): string; encodeFunctionData(functionFragment: 'refund', values: [BigNumberish]): string; encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string; encodeFunctionData(functionFragment: 'retrieveFund', values: [AddressLike[], string]): string; encodeFunctionData(functionFragment: 'spendFund', values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: 'transferFund', values: [AddressLike, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'transferOwnership', values: [AddressLike]): string; decodeFunctionResult(functionFragment: 'addLedger', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'deleteLedger', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'depositFund', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'fineTuningAddress', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getAllLedgers', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getLedger', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'inferenceAddress', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'initialized', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'refund', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'retrieveFund', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'spendFund', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transferFund', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result; } 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 LedgerManager extends BaseContract { connect(runner?: ContractRunner | null): LedgerManager; waitForDeployment(): Promise; interface: LedgerManagerInterface; 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; addLedger: TypedContractMethod<[ inferenceSigner: [BigNumberish, BigNumberish], additionalInfo: string ], [ [bigint, bigint] ], 'payable'>; deleteLedger: TypedContractMethod<[], [void], 'nonpayable'>; depositFund: TypedContractMethod<[], [void], 'payable'>; fineTuningAddress: TypedContractMethod<[], [string], 'view'>; getAllLedgers: TypedContractMethod<[], [LedgerStructOutput[]], 'view'>; getLedger: TypedContractMethod<[ user: AddressLike ], [ LedgerStructOutput ], 'view'>; inferenceAddress: TypedContractMethod<[], [string], 'view'>; initialize: TypedContractMethod<[ _inferenceAddress: AddressLike, _fineTuningAddress: AddressLike, owner: AddressLike ], [ void ], 'nonpayable'>; initialized: TypedContractMethod<[], [boolean], 'view'>; owner: TypedContractMethod<[], [string], 'view'>; refund: TypedContractMethod<[amount: BigNumberish], [void], 'nonpayable'>; renounceOwnership: TypedContractMethod<[], [void], 'nonpayable'>; retrieveFund: TypedContractMethod<[ providers: AddressLike[], serviceType: string ], [ void ], 'nonpayable'>; spendFund: TypedContractMethod<[ user: AddressLike, amount: BigNumberish ], [ void ], 'nonpayable'>; transferFund: TypedContractMethod<[ provider: AddressLike, serviceTypeStr: string, amount: BigNumberish ], [ void ], 'nonpayable'>; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], 'nonpayable'>; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: 'addLedger'): TypedContractMethod<[ inferenceSigner: [BigNumberish, BigNumberish], additionalInfo: string ], [ [bigint, bigint] ], 'payable'>; getFunction(nameOrSignature: 'deleteLedger'): TypedContractMethod<[], [void], 'nonpayable'>; getFunction(nameOrSignature: 'depositFund'): TypedContractMethod<[], [void], 'payable'>; getFunction(nameOrSignature: 'fineTuningAddress'): TypedContractMethod<[], [string], 'view'>; getFunction(nameOrSignature: 'getAllLedgers'): TypedContractMethod<[], [LedgerStructOutput[]], 'view'>; getFunction(nameOrSignature: 'getLedger'): TypedContractMethod<[user: AddressLike], [LedgerStructOutput], 'view'>; getFunction(nameOrSignature: 'inferenceAddress'): TypedContractMethod<[], [string], 'view'>; getFunction(nameOrSignature: 'initialize'): TypedContractMethod<[ _inferenceAddress: AddressLike, _fineTuningAddress: AddressLike, owner: AddressLike ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'initialized'): TypedContractMethod<[], [boolean], 'view'>; getFunction(nameOrSignature: 'owner'): TypedContractMethod<[], [string], 'view'>; getFunction(nameOrSignature: 'refund'): TypedContractMethod<[amount: BigNumberish], [void], 'nonpayable'>; getFunction(nameOrSignature: 'renounceOwnership'): TypedContractMethod<[], [void], 'nonpayable'>; getFunction(nameOrSignature: 'retrieveFund'): TypedContractMethod<[ providers: AddressLike[], serviceType: string ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'spendFund'): TypedContractMethod<[ user: AddressLike, amount: BigNumberish ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'transferFund'): TypedContractMethod<[ provider: AddressLike, serviceTypeStr: string, amount: BigNumberish ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'transferOwnership'): TypedContractMethod<[newOwner: AddressLike], [void], 'nonpayable'>; getEvent(key: 'OwnershipTransferred'): TypedContractEvent; filters: { 'OwnershipTransferred(address,address)': TypedContractEvent; OwnershipTransferred: TypedContractEvent; }; } //# sourceMappingURL=LedgerManager.d.ts.map