import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common"; export declare type PoolOptsStruct = { addressProvider: PromiseOrValue; underlying: PromiseOrValue; U_optimal: PromiseOrValue; R_base: PromiseOrValue; R_slope1: PromiseOrValue; R_slope2: PromiseOrValue; expectedLiquidityLimit: PromiseOrValue; withdrawFee: PromiseOrValue; }; export declare type PoolOptsStructOutput = [ string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { addressProvider: string; underlying: string; U_optimal: BigNumber; R_base: BigNumber; R_slope1: BigNumber; R_slope2: BigNumber; expectedLiquidityLimit: BigNumber; withdrawFee: BigNumber; }; export interface PoolFactoryInterface extends utils.Interface { functions: { "addressProvider()": FunctionFragment; "configure()": FunctionFragment; "destoy()": FunctionFragment; "getRootBack()": FunctionFragment; "owner()": FunctionFragment; "pool()": FunctionFragment; "renounceOwnership()": FunctionFragment; "root()": FunctionFragment; "transferOwnership(address)": FunctionFragment; "withdrawFee()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "addressProvider" | "configure" | "destoy" | "getRootBack" | "owner" | "pool" | "renounceOwnership" | "root" | "transferOwnership" | "withdrawFee"): FunctionFragment; encodeFunctionData(functionFragment: "addressProvider", values?: undefined): string; encodeFunctionData(functionFragment: "configure", values?: undefined): string; encodeFunctionData(functionFragment: "destoy", values?: undefined): string; encodeFunctionData(functionFragment: "getRootBack", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "pool", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "root", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "withdrawFee", values?: undefined): string; decodeFunctionResult(functionFragment: "addressProvider", data: BytesLike): Result; decodeFunctionResult(functionFragment: "configure", data: BytesLike): Result; decodeFunctionResult(functionFragment: "destoy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRootBack", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "root", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawFee", data: BytesLike): Result; events: { "OwnershipTransferred(address,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; } export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export declare type OwnershipTransferredEvent = TypedEvent<[ string, string ], OwnershipTransferredEventObject>; export declare type OwnershipTransferredEventFilter = TypedEventFilter; export interface PoolFactory extends BaseContract { contractName: "PoolFactory"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: PoolFactoryInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { addressProvider(overrides?: CallOverrides): Promise<[string]>; configure(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; destoy(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getRootBack(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; owner(overrides?: CallOverrides): Promise<[string]>; pool(overrides?: CallOverrides): Promise<[string]>; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; root(overrides?: CallOverrides): Promise<[string]>; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawFee(overrides?: CallOverrides): Promise<[BigNumber]>; }; addressProvider(overrides?: CallOverrides): Promise; configure(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; destoy(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getRootBack(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; owner(overrides?: CallOverrides): Promise; pool(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; root(overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawFee(overrides?: CallOverrides): Promise; callStatic: { addressProvider(overrides?: CallOverrides): Promise; configure(overrides?: CallOverrides): Promise; destoy(overrides?: CallOverrides): Promise; getRootBack(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; pool(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; root(overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; withdrawFee(overrides?: CallOverrides): Promise; }; filters: { "OwnershipTransferred(address,address)"(previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null): OwnershipTransferredEventFilter; }; estimateGas: { addressProvider(overrides?: CallOverrides): Promise; configure(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; destoy(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getRootBack(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; owner(overrides?: CallOverrides): Promise; pool(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; root(overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawFee(overrides?: CallOverrides): Promise; }; populateTransaction: { addressProvider(overrides?: CallOverrides): Promise; configure(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; destoy(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getRootBack(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; owner(overrides?: CallOverrides): Promise; pool(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; root(overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; withdrawFee(overrides?: CallOverrides): Promise; }; }