import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common"; export interface IHashflowFactoryInterface extends Interface { getFunction(nameOrSignature: "allPoolsLength" | "createPool" | "getAllPools" | "getGovernance" | "getPools" | "getPrivPoolImpl" | "setHTokenImpl" | "setPrivPoolImpl" | "setSpotPubPoolImpl" | "setWeth" | "updateGovernance"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "PoolCreated" | "UpdateGovernance"): EventFragment; encodeFunctionData(functionFragment: "allPoolsLength", values?: undefined): string; encodeFunctionData(functionFragment: "createPool", values: [string, string, AddressLike, boolean]): string; encodeFunctionData(functionFragment: "getAllPools", values?: undefined): string; encodeFunctionData(functionFragment: "getGovernance", values?: undefined): string; encodeFunctionData(functionFragment: "getPools", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getPrivPoolImpl", values?: undefined): string; encodeFunctionData(functionFragment: "setHTokenImpl", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setPrivPoolImpl", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setSpotPubPoolImpl", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setWeth", values: [AddressLike]): string; encodeFunctionData(functionFragment: "updateGovernance", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "allPoolsLength", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAllPools", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGovernance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPools", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPrivPoolImpl", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setHTokenImpl", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPrivPoolImpl", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setSpotPubPoolImpl", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setWeth", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateGovernance", data: BytesLike): Result; } export declare namespace PoolCreatedEvent { type InputTuple = [ operations: AddressLike, pool: AddressLike, privPool: boolean ]; type OutputTuple = [ operations: string, pool: string, privPool: boolean ]; interface OutputObject { operations: string; pool: string; privPool: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateGovernanceEvent { type InputTuple = [ governance: AddressLike, prevGovernance: AddressLike ]; type OutputTuple = [governance: string, prevGovernance: string]; interface OutputObject { governance: string; prevGovernance: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IHashflowFactory extends BaseContract { connect(runner?: ContractRunner | null): IHashflowFactory; waitForDeployment(): Promise; interface: IHashflowFactoryInterface; 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; allPoolsLength: TypedContractMethod<[], [bigint], "view">; createPool: TypedContractMethod<[ poolName: string, symbol: string, signer: AddressLike, privPool: boolean ], [ void ], "nonpayable">; getAllPools: TypedContractMethod<[], [string[]], "view">; getGovernance: TypedContractMethod<[], [string], "view">; getPools: TypedContractMethod<[operations: AddressLike], [string[]], "view">; getPrivPoolImpl: TypedContractMethod<[], [string], "view">; setHTokenImpl: TypedContractMethod<[ hTokenImpl: AddressLike ], [ void ], "nonpayable">; setPrivPoolImpl: TypedContractMethod<[ privPoolImpl: AddressLike ], [ void ], "nonpayable">; setSpotPubPoolImpl: TypedContractMethod<[ spotPubPoolImpl: AddressLike ], [ void ], "nonpayable">; setWeth: TypedContractMethod<[weth: AddressLike], [void], "nonpayable">; updateGovernance: TypedContractMethod<[ governance: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allPoolsLength"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "createPool"): TypedContractMethod<[ poolName: string, symbol: string, signer: AddressLike, privPool: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getAllPools"): TypedContractMethod<[], [string[]], "view">; getFunction(nameOrSignature: "getGovernance"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getPools"): TypedContractMethod<[operations: AddressLike], [string[]], "view">; getFunction(nameOrSignature: "getPrivPoolImpl"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "setHTokenImpl"): TypedContractMethod<[hTokenImpl: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setPrivPoolImpl"): TypedContractMethod<[privPoolImpl: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setSpotPubPoolImpl"): TypedContractMethod<[spotPubPoolImpl: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setWeth"): TypedContractMethod<[weth: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "updateGovernance"): TypedContractMethod<[governance: AddressLike], [void], "nonpayable">; getEvent(key: "PoolCreated"): TypedContractEvent; getEvent(key: "UpdateGovernance"): TypedContractEvent; filters: { "PoolCreated(address,address,bool)": TypedContractEvent; PoolCreated: TypedContractEvent; "UpdateGovernance(address,address)": TypedContractEvent; UpdateGovernance: TypedContractEvent; }; }