import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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 } from "./common"; export type ForceWithdrawalInputStruct = { tranche: string; user: string; sharesToWithdraw: BigNumberish; }; export type ForceWithdrawalInputStructOutput = [string, string, BigNumber] & { tranche: string; user: string; sharesToWithdraw: BigNumber; }; export type CreateTrancheConfigStruct = { ratio: BigNumberish; interestRate: BigNumberish; minDepositAmount: BigNumberish; maxDepositAmount: BigNumberish; }; export type CreateTrancheConfigStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber ] & { ratio: BigNumber; interestRate: BigNumber; minDepositAmount: BigNumber; maxDepositAmount: BigNumber; }; export type CreatePoolConfigStruct = { poolName: string; poolSymbol: string; targetExcessLiquidityPercentage: BigNumberish; minExcessLiquidityPercentage: BigNumberish; tranches: CreateTrancheConfigStruct[]; poolAdmin: string; drawRecipient: string; desiredDrawAmount: BigNumberish; }; export type CreatePoolConfigStructOutput = [ string, string, BigNumber, BigNumber, CreateTrancheConfigStructOutput[], string, string, BigNumber ] & { poolName: string; poolSymbol: string; targetExcessLiquidityPercentage: BigNumber; minExcessLiquidityPercentage: BigNumber; tranches: CreateTrancheConfigStructOutput[]; poolAdmin: string; drawRecipient: string; desiredDrawAmount: BigNumber; }; export type LendingPoolDeploymentStruct = { lendingPool: string; pendingPool: string; tranches: string[]; }; export type LendingPoolDeploymentStructOutput = [string, string, string[]] & { lendingPool: string; pendingPool: string; tranches: string[]; }; export type ClearingConfigurationStruct = { drawAmount: BigNumberish; trancheDesiredRatios: BigNumberish[]; maxExcessPercentage: BigNumberish; minExcessPercentage: BigNumberish; }; export type ClearingConfigurationStructOutput = [ BigNumber, BigNumber[], BigNumber, BigNumber ] & { drawAmount: BigNumber; trancheDesiredRatios: BigNumber[]; maxExcessPercentage: BigNumber; minExcessPercentage: BigNumber; }; export type KycDataStruct = { blockExpiration: BigNumberish; signature: BytesLike; }; export type KycDataStructOutput = [BigNumber, string] & { blockExpiration: BigNumber; signature: string; }; export type LendingPoolWithdrawalConfigurationStruct = { requestEpochsInAdvance: BigNumberish; cancelRequestEpochsInAdvance: BigNumberish; }; export type LendingPoolWithdrawalConfigurationStructOutput = [ BigNumber, BigNumber ] & { requestEpochsInAdvance: BigNumber; cancelRequestEpochsInAdvance: BigNumber; }; export interface ILendingPoolManagerAbiInterface extends utils.Interface { functions: { "addLendingPoolTrancheFixedTermDeposit(address,address,uint256,uint256,bool)": FunctionFragment; "batchForceWithdrawals(address,(address,address,uint256)[])": FunctionFragment; "cancelDepositRequest(address,uint256)": FunctionFragment; "cancelFixedTermDepositWithdrawalRequest(address,uint256)": FunctionFragment; "cancelWithdrawalRequest(address,uint256)": FunctionFragment; "claimRepaidLoss(address,address,uint256)": FunctionFragment; "createPool((string,string,uint256,uint256,(uint256,uint256,uint256,uint256)[],address,address,uint256))": FunctionFragment; "depositFirstLossCapital(address,uint256)": FunctionFragment; "doClearing(address,uint256,uint256,uint256,uint256,(uint256,uint256[],uint256,uint256),bool)": FunctionFragment; "endFixedTermDeposit(address,uint256,uint256)": FunctionFragment; "forceCancelDepositRequest(address,uint256)": FunctionFragment; "forceCancelWithdrawalRequest(address,uint256)": FunctionFragment; "forceImmediateWithdrawal(address,address,address,uint256)": FunctionFragment; "initialize(address,address,address,address)": FunctionFragment; "isLendingPool(address)": FunctionFragment; "lendingPools(address)": FunctionFragment; "lockDepositForFixedTerm(address,address,uint256,uint256)": FunctionFragment; "repayLoss(address,address,uint256,uint256)": FunctionFragment; "repayOwedFunds(address,uint256,address)": FunctionFragment; "reportLoss(address,uint256,bool)": FunctionFragment; "requestDeposit(address,address,uint256,bytes,uint256,bytes)": FunctionFragment; "requestDepositWithKyc(address,address,uint256,bytes,uint256,bytes,(uint256,bytes))": FunctionFragment; "requestFixedTermDepositWithdrawal(address,uint256)": FunctionFragment; "requestWithdrawal(address,address,uint256)": FunctionFragment; "stopLendingPool(address)": FunctionFragment; "updateDesiredDrawAmount(address,uint256)": FunctionFragment; "updateDrawRecipient(address,address)": FunctionFragment; "updateFixedTermDepositAllowlist(address,uint256,address[],bool[])": FunctionFragment; "updateLendingPoolTrancheFixedInterestStatus(address,uint256,uint8)": FunctionFragment; "updateLendingPoolWithdrawalConfiguration(address,(uint128,uint128))": FunctionFragment; "updateMaximumDepositAmount(address,address,uint256)": FunctionFragment; "updateMinimumDepositAmount(address,address,uint256)": FunctionFragment; "updateMinimumExcessLiquidityPercentage(address,uint256)": FunctionFragment; "updateTargetExcessLiquidityPercentage(address,uint256)": FunctionFragment; "updateTrancheDesiredRatios(address,uint256[])": FunctionFragment; "updateTrancheInterestRate(address,address,uint256)": FunctionFragment; "updateTrancheInterestRateChangeEpochDelay(address,uint256)": FunctionFragment; "withdrawFirstLossCapital(address,uint256,address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "addLendingPoolTrancheFixedTermDeposit" | "batchForceWithdrawals" | "cancelDepositRequest" | "cancelFixedTermDepositWithdrawalRequest" | "cancelWithdrawalRequest" | "claimRepaidLoss" | "createPool" | "depositFirstLossCapital" | "doClearing" | "endFixedTermDeposit" | "forceCancelDepositRequest" | "forceCancelWithdrawalRequest" | "forceImmediateWithdrawal" | "initialize" | "isLendingPool" | "lendingPools" | "lockDepositForFixedTerm" | "repayLoss" | "repayOwedFunds" | "reportLoss" | "requestDeposit" | "requestDepositWithKyc" | "requestFixedTermDepositWithdrawal" | "requestWithdrawal" | "stopLendingPool" | "updateDesiredDrawAmount" | "updateDrawRecipient" | "updateFixedTermDepositAllowlist" | "updateLendingPoolTrancheFixedInterestStatus" | "updateLendingPoolWithdrawalConfiguration" | "updateMaximumDepositAmount" | "updateMinimumDepositAmount" | "updateMinimumExcessLiquidityPercentage" | "updateTargetExcessLiquidityPercentage" | "updateTrancheDesiredRatios" | "updateTrancheInterestRate" | "updateTrancheInterestRateChangeEpochDelay" | "withdrawFirstLossCapital"): FunctionFragment; encodeFunctionData(functionFragment: "addLendingPoolTrancheFixedTermDeposit", values: [string, string, BigNumberish, BigNumberish, boolean]): string; encodeFunctionData(functionFragment: "batchForceWithdrawals", values: [string, ForceWithdrawalInputStruct[]]): string; encodeFunctionData(functionFragment: "cancelDepositRequest", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "cancelFixedTermDepositWithdrawalRequest", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "cancelWithdrawalRequest", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "claimRepaidLoss", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "createPool", values: [CreatePoolConfigStruct]): string; encodeFunctionData(functionFragment: "depositFirstLossCapital", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "doClearing", values: [ string, BigNumberish, BigNumberish, BigNumberish, BigNumberish, ClearingConfigurationStruct, boolean ]): string; encodeFunctionData(functionFragment: "endFixedTermDeposit", values: [string, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "forceCancelDepositRequest", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "forceCancelWithdrawalRequest", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "forceImmediateWithdrawal", values: [string, string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "initialize", values: [string, string, string, string]): string; encodeFunctionData(functionFragment: "isLendingPool", values: [string]): string; encodeFunctionData(functionFragment: "lendingPools", values: [string]): string; encodeFunctionData(functionFragment: "lockDepositForFixedTerm", values: [string, string, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "repayLoss", values: [string, string, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "repayOwedFunds", values: [string, BigNumberish, string]): string; encodeFunctionData(functionFragment: "reportLoss", values: [string, BigNumberish, boolean]): string; encodeFunctionData(functionFragment: "requestDeposit", values: [string, string, BigNumberish, BytesLike, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "requestDepositWithKyc", values: [ string, string, BigNumberish, BytesLike, BigNumberish, BytesLike, KycDataStruct ]): string; encodeFunctionData(functionFragment: "requestFixedTermDepositWithdrawal", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "requestWithdrawal", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "stopLendingPool", values: [string]): string; encodeFunctionData(functionFragment: "updateDesiredDrawAmount", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "updateDrawRecipient", values: [string, string]): string; encodeFunctionData(functionFragment: "updateFixedTermDepositAllowlist", values: [string, BigNumberish, string[], boolean[]]): string; encodeFunctionData(functionFragment: "updateLendingPoolTrancheFixedInterestStatus", values: [string, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "updateLendingPoolWithdrawalConfiguration", values: [string, LendingPoolWithdrawalConfigurationStruct]): string; encodeFunctionData(functionFragment: "updateMaximumDepositAmount", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "updateMinimumDepositAmount", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "updateMinimumExcessLiquidityPercentage", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "updateTargetExcessLiquidityPercentage", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "updateTrancheDesiredRatios", values: [string, BigNumberish[]]): string; encodeFunctionData(functionFragment: "updateTrancheInterestRate", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "updateTrancheInterestRateChangeEpochDelay", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "withdrawFirstLossCapital", values: [string, BigNumberish, string]): string; decodeFunctionResult(functionFragment: "addLendingPoolTrancheFixedTermDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "batchForceWithdrawals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "cancelDepositRequest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "cancelFixedTermDepositWithdrawalRequest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "cancelWithdrawalRequest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claimRepaidLoss", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositFirstLossCapital", data: BytesLike): Result; decodeFunctionResult(functionFragment: "doClearing", data: BytesLike): Result; decodeFunctionResult(functionFragment: "endFixedTermDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "forceCancelDepositRequest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "forceCancelWithdrawalRequest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "forceImmediateWithdrawal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isLendingPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lendingPools", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockDepositForFixedTerm", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repayLoss", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repayOwedFunds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "reportLoss", data: BytesLike): Result; decodeFunctionResult(functionFragment: "requestDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "requestDepositWithKyc", data: BytesLike): Result; decodeFunctionResult(functionFragment: "requestFixedTermDepositWithdrawal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "requestWithdrawal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stopLendingPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateDesiredDrawAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateDrawRecipient", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateFixedTermDepositAllowlist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateLendingPoolTrancheFixedInterestStatus", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateLendingPoolWithdrawalConfiguration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateMaximumDepositAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateMinimumDepositAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateMinimumExcessLiquidityPercentage", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateTargetExcessLiquidityPercentage", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateTrancheDesiredRatios", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateTrancheInterestRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateTrancheInterestRateChangeEpochDelay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawFirstLossCapital", data: BytesLike): Result; events: { "DepositDataAdded(address,uint256,bytes)": EventFragment; "Initialized(uint64)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "DepositDataAdded"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; } export interface DepositDataAddedEventObject { lendingPool: string; dNftID: BigNumber; data: string; } export type DepositDataAddedEvent = TypedEvent<[ string, BigNumber, string ], DepositDataAddedEventObject>; export type DepositDataAddedEventFilter = TypedEventFilter; export interface InitializedEventObject { version: BigNumber; } export type InitializedEvent = TypedEvent<[BigNumber], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface ILendingPoolManagerAbi extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ILendingPoolManagerAbiInterface; 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: { addLendingPoolTrancheFixedTermDeposit(lendingPool: string, tranche: string, epochLockDuration: BigNumberish, epochInterestRate: BigNumberish, whitelistedOnly: boolean, overrides?: Overrides & { from?: string; }): Promise; batchForceWithdrawals(lendingPool: string, input: ForceWithdrawalInputStruct[], overrides?: Overrides & { from?: string; }): Promise; cancelDepositRequest(lendingPool: string, dNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; cancelFixedTermDepositWithdrawalRequest(lendingPool: string, fixedTermDepositId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; cancelWithdrawalRequest(lendingPool: string, wNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; claimRepaidLoss(lendingPool: string, tranche: string, lossId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; createPool(createPoolConfig: CreatePoolConfigStruct, overrides?: Overrides & { from?: string; }): Promise; depositFirstLossCapital(lendingPool: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; doClearing(lendingPool: string, targetEpoch: BigNumberish, fixedTermDepositBatchSize: BigNumberish, priorityCalculationBatchSize: BigNumberish, acceptRequestsBatchSize: BigNumberish, clearingConfigOverride: ClearingConfigurationStruct, isConfigOverridden: boolean, overrides?: Overrides & { from?: string; }): Promise; endFixedTermDeposit(lendingPool: string, fixedTermDepositId: BigNumberish, arrayIndex: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; forceCancelDepositRequest(lendingPool: string, dNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; forceCancelWithdrawalRequest(lendingPool: string, wNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; forceImmediateWithdrawal(lendingPool: string, tranche: string, user: string, sharesToWithdraw: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; initialize(lendingPoolFactory_: string, kasuAllowList_: string, userManager_: string, clearingCoordinator_: string, overrides?: Overrides & { from?: string; }): Promise; isLendingPool(lendingPool: string, overrides?: CallOverrides): Promise<[boolean]>; lendingPools(arg0: string, overrides?: CallOverrides): Promise<[string, string] & { lendingPool: string; pendingPool: string; }>; lockDepositForFixedTerm(lendingPool: string, tranche: string, amount: BigNumberish, fixedTermConfigId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayLoss(lendingPool: string, tranche: string, lossId: BigNumberish, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayOwedFunds(lendingPool: string, amount: BigNumberish, repaymentAddress: string, overrides?: Overrides & { from?: string; }): Promise; reportLoss(lendingPool: string, amount: BigNumberish, doMintLossTokens: boolean, overrides?: Overrides & { from?: string; }): Promise; requestDeposit(lendingPool: string, tranche: string, maxAmount: BigNumberish, swapData: BytesLike, fixedTermConfigId: BigNumberish, depositData: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; requestDepositWithKyc(lendingPool: string, tranche: string, maxAmount: BigNumberish, swapData: BytesLike, fixedTermConfigId: BigNumberish, depositData: BytesLike, kycData: KycDataStruct, overrides?: PayableOverrides & { from?: string; }): Promise; requestFixedTermDepositWithdrawal(lendingPool: string, fixedTermDepositId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; requestWithdrawal(lendingPool: string, tranche: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; stopLendingPool(lendingPool: string, overrides?: Overrides & { from?: string; }): Promise; updateDesiredDrawAmount(lendingPool: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateDrawRecipient(lendingPool: string, drawRecipient: string, overrides?: Overrides & { from?: string; }): Promise; updateFixedTermDepositAllowlist(lendingPool: string, configId: BigNumberish, users: string[], isAllowedList: boolean[], overrides?: Overrides & { from?: string; }): Promise; updateLendingPoolTrancheFixedInterestStatus(lendingPool: string, fixedTermConfigId: BigNumberish, fixedTermDepositStatus: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateLendingPoolWithdrawalConfiguration(lendingPool: string, withdrawalConfiguration: LendingPoolWithdrawalConfigurationStruct, overrides?: Overrides & { from?: string; }): Promise; updateMaximumDepositAmount(lendingPool: string, tranche: string, maximumDepositAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateMinimumDepositAmount(lendingPool: string, tranche: string, minimumDepositAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateMinimumExcessLiquidityPercentage(lendingPool: string, minimumExcessLiquidityPercentage: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateTargetExcessLiquidityPercentage(lendingPool: string, targetExcessLiquidityPercentage: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateTrancheDesiredRatios(lendingPool: string, desiredRatios: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; updateTrancheInterestRate(lendingPool: string, tranche: string, interestRate: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateTrancheInterestRateChangeEpochDelay(lendingPool: string, epochDelay: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawFirstLossCapital(lendingPool: string, withdrawAmount: BigNumberish, withdrawAddress: string, overrides?: Overrides & { from?: string; }): Promise; }; addLendingPoolTrancheFixedTermDeposit(lendingPool: string, tranche: string, epochLockDuration: BigNumberish, epochInterestRate: BigNumberish, whitelistedOnly: boolean, overrides?: Overrides & { from?: string; }): Promise; batchForceWithdrawals(lendingPool: string, input: ForceWithdrawalInputStruct[], overrides?: Overrides & { from?: string; }): Promise; cancelDepositRequest(lendingPool: string, dNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; cancelFixedTermDepositWithdrawalRequest(lendingPool: string, fixedTermDepositId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; cancelWithdrawalRequest(lendingPool: string, wNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; claimRepaidLoss(lendingPool: string, tranche: string, lossId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; createPool(createPoolConfig: CreatePoolConfigStruct, overrides?: Overrides & { from?: string; }): Promise; depositFirstLossCapital(lendingPool: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; doClearing(lendingPool: string, targetEpoch: BigNumberish, fixedTermDepositBatchSize: BigNumberish, priorityCalculationBatchSize: BigNumberish, acceptRequestsBatchSize: BigNumberish, clearingConfigOverride: ClearingConfigurationStruct, isConfigOverridden: boolean, overrides?: Overrides & { from?: string; }): Promise; endFixedTermDeposit(lendingPool: string, fixedTermDepositId: BigNumberish, arrayIndex: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; forceCancelDepositRequest(lendingPool: string, dNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; forceCancelWithdrawalRequest(lendingPool: string, wNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; forceImmediateWithdrawal(lendingPool: string, tranche: string, user: string, sharesToWithdraw: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; initialize(lendingPoolFactory_: string, kasuAllowList_: string, userManager_: string, clearingCoordinator_: string, overrides?: Overrides & { from?: string; }): Promise; isLendingPool(lendingPool: string, overrides?: CallOverrides): Promise; lendingPools(arg0: string, overrides?: CallOverrides): Promise<[string, string] & { lendingPool: string; pendingPool: string; }>; lockDepositForFixedTerm(lendingPool: string, tranche: string, amount: BigNumberish, fixedTermConfigId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayLoss(lendingPool: string, tranche: string, lossId: BigNumberish, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayOwedFunds(lendingPool: string, amount: BigNumberish, repaymentAddress: string, overrides?: Overrides & { from?: string; }): Promise; reportLoss(lendingPool: string, amount: BigNumberish, doMintLossTokens: boolean, overrides?: Overrides & { from?: string; }): Promise; requestDeposit(lendingPool: string, tranche: string, maxAmount: BigNumberish, swapData: BytesLike, fixedTermConfigId: BigNumberish, depositData: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; requestDepositWithKyc(lendingPool: string, tranche: string, maxAmount: BigNumberish, swapData: BytesLike, fixedTermConfigId: BigNumberish, depositData: BytesLike, kycData: KycDataStruct, overrides?: PayableOverrides & { from?: string; }): Promise; requestFixedTermDepositWithdrawal(lendingPool: string, fixedTermDepositId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; requestWithdrawal(lendingPool: string, tranche: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; stopLendingPool(lendingPool: string, overrides?: Overrides & { from?: string; }): Promise; updateDesiredDrawAmount(lendingPool: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateDrawRecipient(lendingPool: string, drawRecipient: string, overrides?: Overrides & { from?: string; }): Promise; updateFixedTermDepositAllowlist(lendingPool: string, configId: BigNumberish, users: string[], isAllowedList: boolean[], overrides?: Overrides & { from?: string; }): Promise; updateLendingPoolTrancheFixedInterestStatus(lendingPool: string, fixedTermConfigId: BigNumberish, fixedTermDepositStatus: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateLendingPoolWithdrawalConfiguration(lendingPool: string, withdrawalConfiguration: LendingPoolWithdrawalConfigurationStruct, overrides?: Overrides & { from?: string; }): Promise; updateMaximumDepositAmount(lendingPool: string, tranche: string, maximumDepositAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateMinimumDepositAmount(lendingPool: string, tranche: string, minimumDepositAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateMinimumExcessLiquidityPercentage(lendingPool: string, minimumExcessLiquidityPercentage: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateTargetExcessLiquidityPercentage(lendingPool: string, targetExcessLiquidityPercentage: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateTrancheDesiredRatios(lendingPool: string, desiredRatios: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; updateTrancheInterestRate(lendingPool: string, tranche: string, interestRate: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateTrancheInterestRateChangeEpochDelay(lendingPool: string, epochDelay: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawFirstLossCapital(lendingPool: string, withdrawAmount: BigNumberish, withdrawAddress: string, overrides?: Overrides & { from?: string; }): Promise; callStatic: { addLendingPoolTrancheFixedTermDeposit(lendingPool: string, tranche: string, epochLockDuration: BigNumberish, epochInterestRate: BigNumberish, whitelistedOnly: boolean, overrides?: CallOverrides): Promise; batchForceWithdrawals(lendingPool: string, input: ForceWithdrawalInputStruct[], overrides?: CallOverrides): Promise; cancelDepositRequest(lendingPool: string, dNftID: BigNumberish, overrides?: CallOverrides): Promise; cancelFixedTermDepositWithdrawalRequest(lendingPool: string, fixedTermDepositId: BigNumberish, overrides?: CallOverrides): Promise; cancelWithdrawalRequest(lendingPool: string, wNftID: BigNumberish, overrides?: CallOverrides): Promise; claimRepaidLoss(lendingPool: string, tranche: string, lossId: BigNumberish, overrides?: CallOverrides): Promise; createPool(createPoolConfig: CreatePoolConfigStruct, overrides?: CallOverrides): Promise; depositFirstLossCapital(lendingPool: string, amount: BigNumberish, overrides?: CallOverrides): Promise; doClearing(lendingPool: string, targetEpoch: BigNumberish, fixedTermDepositBatchSize: BigNumberish, priorityCalculationBatchSize: BigNumberish, acceptRequestsBatchSize: BigNumberish, clearingConfigOverride: ClearingConfigurationStruct, isConfigOverridden: boolean, overrides?: CallOverrides): Promise; endFixedTermDeposit(lendingPool: string, fixedTermDepositId: BigNumberish, arrayIndex: BigNumberish, overrides?: CallOverrides): Promise; forceCancelDepositRequest(lendingPool: string, dNftID: BigNumberish, overrides?: CallOverrides): Promise; forceCancelWithdrawalRequest(lendingPool: string, wNftID: BigNumberish, overrides?: CallOverrides): Promise; forceImmediateWithdrawal(lendingPool: string, tranche: string, user: string, sharesToWithdraw: BigNumberish, overrides?: CallOverrides): Promise; initialize(lendingPoolFactory_: string, kasuAllowList_: string, userManager_: string, clearingCoordinator_: string, overrides?: CallOverrides): Promise; isLendingPool(lendingPool: string, overrides?: CallOverrides): Promise; lendingPools(arg0: string, overrides?: CallOverrides): Promise<[string, string] & { lendingPool: string; pendingPool: string; }>; lockDepositForFixedTerm(lendingPool: string, tranche: string, amount: BigNumberish, fixedTermConfigId: BigNumberish, overrides?: CallOverrides): Promise; repayLoss(lendingPool: string, tranche: string, lossId: BigNumberish, amount: BigNumberish, overrides?: CallOverrides): Promise; repayOwedFunds(lendingPool: string, amount: BigNumberish, repaymentAddress: string, overrides?: CallOverrides): Promise; reportLoss(lendingPool: string, amount: BigNumberish, doMintLossTokens: boolean, overrides?: CallOverrides): Promise; requestDeposit(lendingPool: string, tranche: string, maxAmount: BigNumberish, swapData: BytesLike, fixedTermConfigId: BigNumberish, depositData: BytesLike, overrides?: CallOverrides): Promise; requestDepositWithKyc(lendingPool: string, tranche: string, maxAmount: BigNumberish, swapData: BytesLike, fixedTermConfigId: BigNumberish, depositData: BytesLike, kycData: KycDataStruct, overrides?: CallOverrides): Promise; requestFixedTermDepositWithdrawal(lendingPool: string, fixedTermDepositId: BigNumberish, overrides?: CallOverrides): Promise; requestWithdrawal(lendingPool: string, tranche: string, amount: BigNumberish, overrides?: CallOverrides): Promise; stopLendingPool(lendingPool: string, overrides?: CallOverrides): Promise; updateDesiredDrawAmount(lendingPool: string, amount: BigNumberish, overrides?: CallOverrides): Promise; updateDrawRecipient(lendingPool: string, drawRecipient: string, overrides?: CallOverrides): Promise; updateFixedTermDepositAllowlist(lendingPool: string, configId: BigNumberish, users: string[], isAllowedList: boolean[], overrides?: CallOverrides): Promise; updateLendingPoolTrancheFixedInterestStatus(lendingPool: string, fixedTermConfigId: BigNumberish, fixedTermDepositStatus: BigNumberish, overrides?: CallOverrides): Promise; updateLendingPoolWithdrawalConfiguration(lendingPool: string, withdrawalConfiguration: LendingPoolWithdrawalConfigurationStruct, overrides?: CallOverrides): Promise; updateMaximumDepositAmount(lendingPool: string, tranche: string, maximumDepositAmount: BigNumberish, overrides?: CallOverrides): Promise; updateMinimumDepositAmount(lendingPool: string, tranche: string, minimumDepositAmount: BigNumberish, overrides?: CallOverrides): Promise; updateMinimumExcessLiquidityPercentage(lendingPool: string, minimumExcessLiquidityPercentage: BigNumberish, overrides?: CallOverrides): Promise; updateTargetExcessLiquidityPercentage(lendingPool: string, targetExcessLiquidityPercentage: BigNumberish, overrides?: CallOverrides): Promise; updateTrancheDesiredRatios(lendingPool: string, desiredRatios: BigNumberish[], overrides?: CallOverrides): Promise; updateTrancheInterestRate(lendingPool: string, tranche: string, interestRate: BigNumberish, overrides?: CallOverrides): Promise; updateTrancheInterestRateChangeEpochDelay(lendingPool: string, epochDelay: BigNumberish, overrides?: CallOverrides): Promise; withdrawFirstLossCapital(lendingPool: string, withdrawAmount: BigNumberish, withdrawAddress: string, overrides?: CallOverrides): Promise; }; filters: { "DepositDataAdded(address,uint256,bytes)"(lendingPool?: string | null, dNftID?: BigNumberish | null, data?: null): DepositDataAddedEventFilter; DepositDataAdded(lendingPool?: string | null, dNftID?: BigNumberish | null, data?: null): DepositDataAddedEventFilter; "Initialized(uint64)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; }; estimateGas: { addLendingPoolTrancheFixedTermDeposit(lendingPool: string, tranche: string, epochLockDuration: BigNumberish, epochInterestRate: BigNumberish, whitelistedOnly: boolean, overrides?: Overrides & { from?: string; }): Promise; batchForceWithdrawals(lendingPool: string, input: ForceWithdrawalInputStruct[], overrides?: Overrides & { from?: string; }): Promise; cancelDepositRequest(lendingPool: string, dNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; cancelFixedTermDepositWithdrawalRequest(lendingPool: string, fixedTermDepositId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; cancelWithdrawalRequest(lendingPool: string, wNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; claimRepaidLoss(lendingPool: string, tranche: string, lossId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; createPool(createPoolConfig: CreatePoolConfigStruct, overrides?: Overrides & { from?: string; }): Promise; depositFirstLossCapital(lendingPool: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; doClearing(lendingPool: string, targetEpoch: BigNumberish, fixedTermDepositBatchSize: BigNumberish, priorityCalculationBatchSize: BigNumberish, acceptRequestsBatchSize: BigNumberish, clearingConfigOverride: ClearingConfigurationStruct, isConfigOverridden: boolean, overrides?: Overrides & { from?: string; }): Promise; endFixedTermDeposit(lendingPool: string, fixedTermDepositId: BigNumberish, arrayIndex: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; forceCancelDepositRequest(lendingPool: string, dNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; forceCancelWithdrawalRequest(lendingPool: string, wNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; forceImmediateWithdrawal(lendingPool: string, tranche: string, user: string, sharesToWithdraw: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; initialize(lendingPoolFactory_: string, kasuAllowList_: string, userManager_: string, clearingCoordinator_: string, overrides?: Overrides & { from?: string; }): Promise; isLendingPool(lendingPool: string, overrides?: CallOverrides): Promise; lendingPools(arg0: string, overrides?: CallOverrides): Promise; lockDepositForFixedTerm(lendingPool: string, tranche: string, amount: BigNumberish, fixedTermConfigId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayLoss(lendingPool: string, tranche: string, lossId: BigNumberish, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayOwedFunds(lendingPool: string, amount: BigNumberish, repaymentAddress: string, overrides?: Overrides & { from?: string; }): Promise; reportLoss(lendingPool: string, amount: BigNumberish, doMintLossTokens: boolean, overrides?: Overrides & { from?: string; }): Promise; requestDeposit(lendingPool: string, tranche: string, maxAmount: BigNumberish, swapData: BytesLike, fixedTermConfigId: BigNumberish, depositData: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; requestDepositWithKyc(lendingPool: string, tranche: string, maxAmount: BigNumberish, swapData: BytesLike, fixedTermConfigId: BigNumberish, depositData: BytesLike, kycData: KycDataStruct, overrides?: PayableOverrides & { from?: string; }): Promise; requestFixedTermDepositWithdrawal(lendingPool: string, fixedTermDepositId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; requestWithdrawal(lendingPool: string, tranche: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; stopLendingPool(lendingPool: string, overrides?: Overrides & { from?: string; }): Promise; updateDesiredDrawAmount(lendingPool: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateDrawRecipient(lendingPool: string, drawRecipient: string, overrides?: Overrides & { from?: string; }): Promise; updateFixedTermDepositAllowlist(lendingPool: string, configId: BigNumberish, users: string[], isAllowedList: boolean[], overrides?: Overrides & { from?: string; }): Promise; updateLendingPoolTrancheFixedInterestStatus(lendingPool: string, fixedTermConfigId: BigNumberish, fixedTermDepositStatus: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateLendingPoolWithdrawalConfiguration(lendingPool: string, withdrawalConfiguration: LendingPoolWithdrawalConfigurationStruct, overrides?: Overrides & { from?: string; }): Promise; updateMaximumDepositAmount(lendingPool: string, tranche: string, maximumDepositAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateMinimumDepositAmount(lendingPool: string, tranche: string, minimumDepositAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateMinimumExcessLiquidityPercentage(lendingPool: string, minimumExcessLiquidityPercentage: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateTargetExcessLiquidityPercentage(lendingPool: string, targetExcessLiquidityPercentage: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateTrancheDesiredRatios(lendingPool: string, desiredRatios: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; updateTrancheInterestRate(lendingPool: string, tranche: string, interestRate: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateTrancheInterestRateChangeEpochDelay(lendingPool: string, epochDelay: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawFirstLossCapital(lendingPool: string, withdrawAmount: BigNumberish, withdrawAddress: string, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { addLendingPoolTrancheFixedTermDeposit(lendingPool: string, tranche: string, epochLockDuration: BigNumberish, epochInterestRate: BigNumberish, whitelistedOnly: boolean, overrides?: Overrides & { from?: string; }): Promise; batchForceWithdrawals(lendingPool: string, input: ForceWithdrawalInputStruct[], overrides?: Overrides & { from?: string; }): Promise; cancelDepositRequest(lendingPool: string, dNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; cancelFixedTermDepositWithdrawalRequest(lendingPool: string, fixedTermDepositId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; cancelWithdrawalRequest(lendingPool: string, wNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; claimRepaidLoss(lendingPool: string, tranche: string, lossId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; createPool(createPoolConfig: CreatePoolConfigStruct, overrides?: Overrides & { from?: string; }): Promise; depositFirstLossCapital(lendingPool: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; doClearing(lendingPool: string, targetEpoch: BigNumberish, fixedTermDepositBatchSize: BigNumberish, priorityCalculationBatchSize: BigNumberish, acceptRequestsBatchSize: BigNumberish, clearingConfigOverride: ClearingConfigurationStruct, isConfigOverridden: boolean, overrides?: Overrides & { from?: string; }): Promise; endFixedTermDeposit(lendingPool: string, fixedTermDepositId: BigNumberish, arrayIndex: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; forceCancelDepositRequest(lendingPool: string, dNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; forceCancelWithdrawalRequest(lendingPool: string, wNftID: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; forceImmediateWithdrawal(lendingPool: string, tranche: string, user: string, sharesToWithdraw: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; initialize(lendingPoolFactory_: string, kasuAllowList_: string, userManager_: string, clearingCoordinator_: string, overrides?: Overrides & { from?: string; }): Promise; isLendingPool(lendingPool: string, overrides?: CallOverrides): Promise; lendingPools(arg0: string, overrides?: CallOverrides): Promise; lockDepositForFixedTerm(lendingPool: string, tranche: string, amount: BigNumberish, fixedTermConfigId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayLoss(lendingPool: string, tranche: string, lossId: BigNumberish, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayOwedFunds(lendingPool: string, amount: BigNumberish, repaymentAddress: string, overrides?: Overrides & { from?: string; }): Promise; reportLoss(lendingPool: string, amount: BigNumberish, doMintLossTokens: boolean, overrides?: Overrides & { from?: string; }): Promise; requestDeposit(lendingPool: string, tranche: string, maxAmount: BigNumberish, swapData: BytesLike, fixedTermConfigId: BigNumberish, depositData: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; requestDepositWithKyc(lendingPool: string, tranche: string, maxAmount: BigNumberish, swapData: BytesLike, fixedTermConfigId: BigNumberish, depositData: BytesLike, kycData: KycDataStruct, overrides?: PayableOverrides & { from?: string; }): Promise; requestFixedTermDepositWithdrawal(lendingPool: string, fixedTermDepositId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; requestWithdrawal(lendingPool: string, tranche: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; stopLendingPool(lendingPool: string, overrides?: Overrides & { from?: string; }): Promise; updateDesiredDrawAmount(lendingPool: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateDrawRecipient(lendingPool: string, drawRecipient: string, overrides?: Overrides & { from?: string; }): Promise; updateFixedTermDepositAllowlist(lendingPool: string, configId: BigNumberish, users: string[], isAllowedList: boolean[], overrides?: Overrides & { from?: string; }): Promise; updateLendingPoolTrancheFixedInterestStatus(lendingPool: string, fixedTermConfigId: BigNumberish, fixedTermDepositStatus: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateLendingPoolWithdrawalConfiguration(lendingPool: string, withdrawalConfiguration: LendingPoolWithdrawalConfigurationStruct, overrides?: Overrides & { from?: string; }): Promise; updateMaximumDepositAmount(lendingPool: string, tranche: string, maximumDepositAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateMinimumDepositAmount(lendingPool: string, tranche: string, minimumDepositAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateMinimumExcessLiquidityPercentage(lendingPool: string, minimumExcessLiquidityPercentage: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateTargetExcessLiquidityPercentage(lendingPool: string, targetExcessLiquidityPercentage: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateTrancheDesiredRatios(lendingPool: string, desiredRatios: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; updateTrancheInterestRate(lendingPool: string, tranche: string, interestRate: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updateTrancheInterestRateChangeEpochDelay(lendingPool: string, epochDelay: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawFirstLossCapital(lendingPool: string, withdrawAmount: BigNumberish, withdrawAddress: string, overrides?: Overrides & { from?: string; }): Promise; }; }