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 declare namespace IPaymentsEscrow { type EscrowAccountStruct = { balance: BigNumberish; tokensThawing: BigNumberish; thawEndTimestamp: BigNumberish; }; type EscrowAccountStructOutput = [ balance: bigint, tokensThawing: bigint, thawEndTimestamp: bigint ] & { balance: bigint; tokensThawing: bigint; thawEndTimestamp: bigint; }; } export interface IPaymentsEscrowToolshedInterface extends Interface { getFunction(nameOrSignature: "MAX_WAIT_PERIOD" | "WITHDRAW_ESCROW_THAWING_PERIOD" | "cancelThaw" | "collect" | "deposit" | "depositTo" | "escrowAccounts" | "getBalance" | "initialize" | "thaw" | "withdraw"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "CancelThaw" | "Deposit" | "EscrowCollected" | "Thaw" | "Withdraw"): EventFragment; encodeFunctionData(functionFragment: "MAX_WAIT_PERIOD", values?: undefined): string; encodeFunctionData(functionFragment: "WITHDRAW_ESCROW_THAWING_PERIOD", values?: undefined): string; encodeFunctionData(functionFragment: "cancelThaw", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "collect", values: [ BigNumberish, AddressLike, AddressLike, BigNumberish, AddressLike, BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "deposit", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "depositTo", values: [AddressLike, AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "escrowAccounts", values: [AddressLike, AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "getBalance", values: [AddressLike, AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "initialize", values?: undefined): string; encodeFunctionData(functionFragment: "thaw", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "withdraw", values: [AddressLike, AddressLike]): string; decodeFunctionResult(functionFragment: "MAX_WAIT_PERIOD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "WITHDRAW_ESCROW_THAWING_PERIOD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "cancelThaw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "collect", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "escrowAccounts", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "thaw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; } export declare namespace CancelThawEvent { type InputTuple = [ payer: AddressLike, collector: AddressLike, receiver: AddressLike, tokensThawing: BigNumberish, thawEndTimestamp: BigNumberish ]; type OutputTuple = [ payer: string, collector: string, receiver: string, tokensThawing: bigint, thawEndTimestamp: bigint ]; interface OutputObject { payer: string; collector: string; receiver: string; tokensThawing: bigint; thawEndTimestamp: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace DepositEvent { type InputTuple = [ payer: AddressLike, collector: AddressLike, receiver: AddressLike, tokens: BigNumberish ]; type OutputTuple = [ payer: string, collector: string, receiver: string, tokens: bigint ]; interface OutputObject { payer: string; collector: string; receiver: string; tokens: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace EscrowCollectedEvent { type InputTuple = [ paymentType: BigNumberish, payer: AddressLike, collector: AddressLike, receiver: AddressLike, tokens: BigNumberish, receiverDestination: AddressLike ]; type OutputTuple = [ paymentType: bigint, payer: string, collector: string, receiver: string, tokens: bigint, receiverDestination: string ]; interface OutputObject { paymentType: bigint; payer: string; collector: string; receiver: string; tokens: bigint; receiverDestination: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ThawEvent { type InputTuple = [ payer: AddressLike, collector: AddressLike, receiver: AddressLike, tokens: BigNumberish, thawEndTimestamp: BigNumberish ]; type OutputTuple = [ payer: string, collector: string, receiver: string, tokens: bigint, thawEndTimestamp: bigint ]; interface OutputObject { payer: string; collector: string; receiver: string; tokens: bigint; thawEndTimestamp: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WithdrawEvent { type InputTuple = [ payer: AddressLike, collector: AddressLike, receiver: AddressLike, tokens: BigNumberish ]; type OutputTuple = [ payer: string, collector: string, receiver: string, tokens: bigint ]; interface OutputObject { payer: string; collector: string; receiver: string; tokens: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IPaymentsEscrowToolshed extends BaseContract { connect(runner?: ContractRunner | null): IPaymentsEscrowToolshed; waitForDeployment(): Promise; interface: IPaymentsEscrowToolshedInterface; 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; MAX_WAIT_PERIOD: TypedContractMethod<[], [bigint], "view">; WITHDRAW_ESCROW_THAWING_PERIOD: TypedContractMethod<[], [bigint], "view">; cancelThaw: TypedContractMethod<[ collector: AddressLike, receiver: AddressLike ], [ void ], "nonpayable">; collect: TypedContractMethod<[ paymentType: BigNumberish, payer: AddressLike, receiver: AddressLike, tokens: BigNumberish, dataService: AddressLike, dataServiceCut: BigNumberish, receiverDestination: AddressLike ], [ void ], "nonpayable">; deposit: TypedContractMethod<[ collector: AddressLike, receiver: AddressLike, tokens: BigNumberish ], [ void ], "nonpayable">; depositTo: TypedContractMethod<[ payer: AddressLike, collector: AddressLike, receiver: AddressLike, tokens: BigNumberish ], [ void ], "nonpayable">; escrowAccounts: TypedContractMethod<[ payer: AddressLike, collector: AddressLike, receiver: AddressLike ], [ IPaymentsEscrow.EscrowAccountStructOutput ], "view">; getBalance: TypedContractMethod<[ payer: AddressLike, collector: AddressLike, receiver: AddressLike ], [ bigint ], "view">; initialize: TypedContractMethod<[], [void], "nonpayable">; thaw: TypedContractMethod<[ collector: AddressLike, receiver: AddressLike, tokens: BigNumberish ], [ void ], "nonpayable">; withdraw: TypedContractMethod<[ collector: AddressLike, receiver: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "MAX_WAIT_PERIOD"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "WITHDRAW_ESCROW_THAWING_PERIOD"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "cancelThaw"): TypedContractMethod<[ collector: AddressLike, receiver: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "collect"): TypedContractMethod<[ paymentType: BigNumberish, payer: AddressLike, receiver: AddressLike, tokens: BigNumberish, dataService: AddressLike, dataServiceCut: BigNumberish, receiverDestination: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ collector: AddressLike, receiver: AddressLike, tokens: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "depositTo"): TypedContractMethod<[ payer: AddressLike, collector: AddressLike, receiver: AddressLike, tokens: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "escrowAccounts"): TypedContractMethod<[ payer: AddressLike, collector: AddressLike, receiver: AddressLike ], [ IPaymentsEscrow.EscrowAccountStructOutput ], "view">; getFunction(nameOrSignature: "getBalance"): TypedContractMethod<[ payer: AddressLike, collector: AddressLike, receiver: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "thaw"): TypedContractMethod<[ collector: AddressLike, receiver: AddressLike, tokens: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ collector: AddressLike, receiver: AddressLike ], [ void ], "nonpayable">; getEvent(key: "CancelThaw"): TypedContractEvent; getEvent(key: "Deposit"): TypedContractEvent; getEvent(key: "EscrowCollected"): TypedContractEvent; getEvent(key: "Thaw"): TypedContractEvent; getEvent(key: "Withdraw"): TypedContractEvent; filters: { "CancelThaw(address,address,address,uint256,uint256)": TypedContractEvent; CancelThaw: TypedContractEvent; "Deposit(address,address,address,uint256)": TypedContractEvent; Deposit: TypedContractEvent; "EscrowCollected(uint8,address,address,address,uint256,address)": TypedContractEvent; EscrowCollected: TypedContractEvent; "Thaw(address,address,address,uint256,uint256)": TypedContractEvent; Thaw: TypedContractEvent; "Withdraw(address,address,address,uint256)": TypedContractEvent; Withdraw: TypedContractEvent; }; } //# sourceMappingURL=IPaymentsEscrowToolshed.d.ts.map