/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ 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, } from "./common"; export type LossDetailsStruct = { lossAmount: BigNumberish; usersCount: BigNumberish; usersMintedCount: BigNumberish; recoveredAmount: BigNumberish; totalLossShares: BigNumberish; }; export type LossDetailsStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { lossAmount: BigNumber; usersCount: BigNumber; usersMintedCount: BigNumber; recoveredAmount: BigNumber; totalLossShares: BigNumber; }; export interface ILendingPoolTrancheAbiInterface extends utils.Interface { functions: { "allowance(address,address)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "asset()": FunctionFragment; "balanceOf(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "balanceOfBatch(address[],uint256[])": FunctionFragment; "batchMintLossTokens(uint256,uint256)": FunctionFragment; "calculateMaximumLossAmount()": FunctionFragment; "claimRepaidLoss(address,uint256)": FunctionFragment; "convertToAssets(uint256)": FunctionFragment; "convertToShares(uint256)": FunctionFragment; "decimals()": FunctionFragment; "deposit(uint256,address)": FunctionFragment; "isApprovedForAll(address,address)": FunctionFragment; "isLossMintingComplete(uint256)": FunctionFragment; "lossDetails(uint256)": FunctionFragment; "maxDeposit(address)": FunctionFragment; "maxMint(address)": FunctionFragment; "maxRedeem(address)": FunctionFragment; "maxWithdraw(address)": FunctionFragment; "minimumAssetAmountLeftAfterLoss()": FunctionFragment; "mint(uint256,address)": FunctionFragment; "name()": FunctionFragment; "previewDeposit(uint256)": FunctionFragment; "previewMint(uint256)": FunctionFragment; "previewRedeem(uint256)": FunctionFragment; "previewWithdraw(uint256)": FunctionFragment; "redeem(uint256,address,address)": FunctionFragment; "registerTrancheLoss(uint256,uint256,bool)": FunctionFragment; "removeUserActiveShares(address,uint256)": FunctionFragment; "repayLoss(uint256,uint256)": FunctionFragment; "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": FunctionFragment; "safeTransferFrom(address,address,uint256,uint256,bytes)": FunctionFragment; "setApprovalForAll(address,bool)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "symbol()": FunctionFragment; "totalAssets()": FunctionFragment; "totalSupply()": FunctionFragment; "transfer(address,uint256)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "userActiveAssets(address)": FunctionFragment; "userClaimableLoss(address,uint256)": FunctionFragment; "userClaimedLosses(address,uint256)": FunctionFragment; "withdraw(uint256,address,address)": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: | "allowance" | "approve" | "asset" | "balanceOf(address,uint256)" | "balanceOf(address)" | "balanceOfBatch" | "batchMintLossTokens" | "calculateMaximumLossAmount" | "claimRepaidLoss" | "convertToAssets" | "convertToShares" | "decimals" | "deposit" | "isApprovedForAll" | "isLossMintingComplete" | "lossDetails" | "maxDeposit" | "maxMint" | "maxRedeem" | "maxWithdraw" | "minimumAssetAmountLeftAfterLoss" | "mint" | "name" | "previewDeposit" | "previewMint" | "previewRedeem" | "previewWithdraw" | "redeem" | "registerTrancheLoss" | "removeUserActiveShares" | "repayLoss" | "safeBatchTransferFrom" | "safeTransferFrom" | "setApprovalForAll" | "supportsInterface" | "symbol" | "totalAssets" | "totalSupply" | "transfer" | "transferFrom" | "userActiveAssets" | "userClaimableLoss" | "userClaimedLosses" | "withdraw" ): FunctionFragment; encodeFunctionData( functionFragment: "allowance", values: [string, string] ): string; encodeFunctionData( functionFragment: "approve", values: [string, BigNumberish] ): string; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData( functionFragment: "balanceOf(address,uint256)", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "balanceOf(address)", values: [string] ): string; encodeFunctionData( functionFragment: "balanceOfBatch", values: [string[], BigNumberish[]] ): string; encodeFunctionData( functionFragment: "batchMintLossTokens", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "calculateMaximumLossAmount", values?: undefined ): string; encodeFunctionData( functionFragment: "claimRepaidLoss", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "convertToAssets", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "convertToShares", values: [BigNumberish] ): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData( functionFragment: "deposit", values: [BigNumberish, string] ): string; encodeFunctionData( functionFragment: "isApprovedForAll", values: [string, string] ): string; encodeFunctionData( functionFragment: "isLossMintingComplete", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "lossDetails", values: [BigNumberish] ): string; encodeFunctionData(functionFragment: "maxDeposit", values: [string]): string; encodeFunctionData(functionFragment: "maxMint", values: [string]): string; encodeFunctionData(functionFragment: "maxRedeem", values: [string]): string; encodeFunctionData(functionFragment: "maxWithdraw", values: [string]): string; encodeFunctionData( functionFragment: "minimumAssetAmountLeftAfterLoss", values?: undefined ): string; encodeFunctionData( functionFragment: "mint", values: [BigNumberish, string] ): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData( functionFragment: "previewDeposit", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "previewMint", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "previewRedeem", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "previewWithdraw", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "redeem", values: [BigNumberish, string, string] ): string; encodeFunctionData( functionFragment: "registerTrancheLoss", values: [BigNumberish, BigNumberish, boolean] ): string; encodeFunctionData( functionFragment: "removeUserActiveShares", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "repayLoss", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "safeBatchTransferFrom", values: [string, string, BigNumberish[], BigNumberish[], BytesLike] ): string; encodeFunctionData( functionFragment: "safeTransferFrom", values: [string, string, BigNumberish, BigNumberish, BytesLike] ): string; encodeFunctionData( functionFragment: "setApprovalForAll", values: [string, boolean] ): string; encodeFunctionData( functionFragment: "supportsInterface", values: [BytesLike] ): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData( functionFragment: "totalAssets", values?: undefined ): string; encodeFunctionData( functionFragment: "totalSupply", values?: undefined ): string; encodeFunctionData( functionFragment: "transfer", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "transferFrom", values: [string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "userActiveAssets", values: [string] ): string; encodeFunctionData( functionFragment: "userClaimableLoss", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "userClaimedLosses", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "withdraw", values: [BigNumberish, string, string] ): string; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; decodeFunctionResult( functionFragment: "balanceOf(address,uint256)", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "balanceOf(address)", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "balanceOfBatch", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "batchMintLossTokens", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateMaximumLossAmount", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "claimRepaidLoss", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "convertToAssets", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "convertToShares", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult( functionFragment: "isApprovedForAll", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "isLossMintingComplete", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "lossDetails", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; decodeFunctionResult( functionFragment: "maxWithdraw", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "minimumAssetAmountLeftAfterLoss", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult( functionFragment: "previewDeposit", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "previewMint", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "previewRedeem", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "previewWithdraw", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; decodeFunctionResult( functionFragment: "registerTrancheLoss", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeUserActiveShares", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "repayLoss", data: BytesLike): Result; decodeFunctionResult( functionFragment: "safeBatchTransferFrom", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "safeTransferFrom", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setApprovalForAll", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "supportsInterface", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult( functionFragment: "totalAssets", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "totalSupply", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult( functionFragment: "transferFrom", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "userActiveAssets", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "userClaimableLoss", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "userClaimedLosses", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; events: { "Approval(address,address,uint256)": EventFragment; "ApprovalForAll(address,address,bool)": EventFragment; "Deposit(address,address,uint256,uint256)": EventFragment; "LossClaimed(address,uint256,uint256)": EventFragment; "LossMintingComplete(uint256)": EventFragment; "LossRegistered(uint256,uint256,uint256)": EventFragment; "LossReturned(uint256,uint256)": EventFragment; "MintedLossTokensToUsers(uint256,uint256)": EventFragment; "Transfer(address,address,uint256)": EventFragment; "TransferBatch(address,address,address,uint256[],uint256[])": EventFragment; "TransferSingle(address,address,address,uint256,uint256)": EventFragment; "URI(string,uint256)": EventFragment; "Withdraw(address,address,address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment; getEvent(nameOrSignatureOrTopic: "Deposit"): EventFragment; getEvent(nameOrSignatureOrTopic: "LossClaimed"): EventFragment; getEvent(nameOrSignatureOrTopic: "LossMintingComplete"): EventFragment; getEvent(nameOrSignatureOrTopic: "LossRegistered"): EventFragment; getEvent(nameOrSignatureOrTopic: "LossReturned"): EventFragment; getEvent(nameOrSignatureOrTopic: "MintedLossTokensToUsers"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; getEvent(nameOrSignatureOrTopic: "TransferBatch"): EventFragment; getEvent(nameOrSignatureOrTopic: "TransferSingle"): EventFragment; getEvent(nameOrSignatureOrTopic: "URI"): EventFragment; getEvent(nameOrSignatureOrTopic: "Withdraw"): EventFragment; } export interface ApprovalEventObject { owner: string; spender: string; value: BigNumber; } export type ApprovalEvent = TypedEvent< [string, string, BigNumber], ApprovalEventObject >; export type ApprovalEventFilter = TypedEventFilter; export interface ApprovalForAllEventObject { account: string; operator: string; approved: boolean; } export type ApprovalForAllEvent = TypedEvent< [string, string, boolean], ApprovalForAllEventObject >; export type ApprovalForAllEventFilter = TypedEventFilter; export interface DepositEventObject { sender: string; owner: string; assets: BigNumber; shares: BigNumber; } export type DepositEvent = TypedEvent< [string, string, BigNumber, BigNumber], DepositEventObject >; export type DepositEventFilter = TypedEventFilter; export interface LossClaimedEventObject { user: string; lossId: BigNumber; amount: BigNumber; } export type LossClaimedEvent = TypedEvent< [string, BigNumber, BigNumber], LossClaimedEventObject >; export type LossClaimedEventFilter = TypedEventFilter; export interface LossMintingCompleteEventObject { lossId: BigNumber; } export type LossMintingCompleteEvent = TypedEvent< [BigNumber], LossMintingCompleteEventObject >; export type LossMintingCompleteEventFilter = TypedEventFilter; export interface LossRegisteredEventObject { lossId: BigNumber; lossAmount: BigNumber; usersCount: BigNumber; } export type LossRegisteredEvent = TypedEvent< [BigNumber, BigNumber, BigNumber], LossRegisteredEventObject >; export type LossRegisteredEventFilter = TypedEventFilter; export interface LossReturnedEventObject { lossId: BigNumber; amount: BigNumber; } export type LossReturnedEvent = TypedEvent< [BigNumber, BigNumber], LossReturnedEventObject >; export type LossReturnedEventFilter = TypedEventFilter; export interface MintedLossTokensToUsersEventObject { lossId: BigNumber; batchCount: BigNumber; } export type MintedLossTokensToUsersEvent = TypedEvent< [BigNumber, BigNumber], MintedLossTokensToUsersEventObject >; export type MintedLossTokensToUsersEventFilter = TypedEventFilter; export interface TransferEventObject { from: string; to: string; value: BigNumber; } export type TransferEvent = TypedEvent< [string, string, BigNumber], TransferEventObject >; export type TransferEventFilter = TypedEventFilter; export interface TransferBatchEventObject { operator: string; from: string; to: string; ids: BigNumber[]; values: BigNumber[]; } export type TransferBatchEvent = TypedEvent< [string, string, string, BigNumber[], BigNumber[]], TransferBatchEventObject >; export type TransferBatchEventFilter = TypedEventFilter; export interface TransferSingleEventObject { operator: string; from: string; to: string; id: BigNumber; value: BigNumber; } export type TransferSingleEvent = TypedEvent< [string, string, string, BigNumber, BigNumber], TransferSingleEventObject >; export type TransferSingleEventFilter = TypedEventFilter; export interface URIEventObject { value: string; id: BigNumber; } export type URIEvent = TypedEvent<[string, BigNumber], URIEventObject>; export type URIEventFilter = TypedEventFilter; export interface WithdrawEventObject { sender: string; receiver: string; owner: string; assets: BigNumber; shares: BigNumber; } export type WithdrawEvent = TypedEvent< [string, string, string, BigNumber, BigNumber], WithdrawEventObject >; export type WithdrawEventFilter = TypedEventFilter; export interface ILendingPoolTrancheAbi extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ILendingPoolTrancheAbiInterface; 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: { allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise<[BigNumber]>; approve( spender: string, value: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; asset( overrides?: CallOverrides ): Promise<[string] & { assetTokenAddress: string }>; "balanceOf(address,uint256)"( account: string, id: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; "balanceOf(address)"( account: string, overrides?: CallOverrides ): Promise<[BigNumber]>; balanceOfBatch( accounts: string[], ids: BigNumberish[], overrides?: CallOverrides ): Promise<[BigNumber[]]>; batchMintLossTokens( lossId: BigNumberish, batchSize: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; calculateMaximumLossAmount(overrides?: CallOverrides): Promise<[BigNumber]>; claimRepaidLoss( user: string, lossId: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; convertToAssets( shares: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { assets: BigNumber }>; convertToShares( assets: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { shares: BigNumber }>; decimals(overrides?: CallOverrides): Promise<[number]>; deposit( assets: BigNumberish, receiver: string, overrides?: Overrides & { from?: string } ): Promise; isApprovedForAll( account: string, operator: string, overrides?: CallOverrides ): Promise<[boolean]>; isLossMintingComplete( lossId: BigNumberish, overrides?: CallOverrides ): Promise<[boolean]>; lossDetails( lossId: BigNumberish, overrides?: CallOverrides ): Promise<[LossDetailsStructOutput]>; maxDeposit( receiver: string, overrides?: CallOverrides ): Promise<[BigNumber] & { maxAssets: BigNumber }>; maxMint( receiver: string, overrides?: CallOverrides ): Promise<[BigNumber] & { maxShares: BigNumber }>; maxRedeem( owner: string, overrides?: CallOverrides ): Promise<[BigNumber] & { maxShares: BigNumber }>; maxWithdraw( owner: string, overrides?: CallOverrides ): Promise<[BigNumber] & { maxAssets: BigNumber }>; minimumAssetAmountLeftAfterLoss( overrides?: CallOverrides ): Promise<[BigNumber]>; mint( shares: BigNumberish, receiver: string, overrides?: Overrides & { from?: string } ): Promise; name(overrides?: CallOverrides): Promise<[string]>; previewDeposit( assets: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { shares: BigNumber }>; previewMint( shares: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { assets: BigNumber }>; previewRedeem( shares: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { assets: BigNumber }>; previewWithdraw( assets: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { shares: BigNumber }>; redeem( shares: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string } ): Promise; registerTrancheLoss( lossId: BigNumberish, lossAmount: BigNumberish, doMintLossTokens: boolean, overrides?: Overrides & { from?: string } ): Promise; removeUserActiveShares( user: string, shares: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; repayLoss( lossId: BigNumberish, amount: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; safeBatchTransferFrom( from: string, to: string, ids: BigNumberish[], values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string } ): Promise; safeTransferFrom( from: string, to: string, id: BigNumberish, value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string } ): Promise; setApprovalForAll( operator: string, approved: boolean, overrides?: Overrides & { from?: string } ): Promise; supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; symbol(overrides?: CallOverrides): Promise<[string]>; totalAssets( overrides?: CallOverrides ): Promise<[BigNumber] & { totalManagedAssets: BigNumber }>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transfer( to: string, value: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; transferFrom( from: string, to: string, value: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; userActiveAssets( user: string, overrides?: CallOverrides ): Promise<[BigNumber]>; userClaimableLoss( user: string, lossId: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { claimableAmount: BigNumber }>; userClaimedLosses( user: string, lossId: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { claimedAmount: BigNumber }>; withdraw( assets: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string } ): Promise; }; allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise; approve( spender: string, value: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; asset(overrides?: CallOverrides): Promise; "balanceOf(address,uint256)"( account: string, id: BigNumberish, overrides?: CallOverrides ): Promise; "balanceOf(address)"( account: string, overrides?: CallOverrides ): Promise; balanceOfBatch( accounts: string[], ids: BigNumberish[], overrides?: CallOverrides ): Promise; batchMintLossTokens( lossId: BigNumberish, batchSize: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; calculateMaximumLossAmount(overrides?: CallOverrides): Promise; claimRepaidLoss( user: string, lossId: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; convertToAssets( shares: BigNumberish, overrides?: CallOverrides ): Promise; convertToShares( assets: BigNumberish, overrides?: CallOverrides ): Promise; decimals(overrides?: CallOverrides): Promise; deposit( assets: BigNumberish, receiver: string, overrides?: Overrides & { from?: string } ): Promise; isApprovedForAll( account: string, operator: string, overrides?: CallOverrides ): Promise; isLossMintingComplete( lossId: BigNumberish, overrides?: CallOverrides ): Promise; lossDetails( lossId: BigNumberish, overrides?: CallOverrides ): Promise; maxDeposit(receiver: string, overrides?: CallOverrides): Promise; maxMint(receiver: string, overrides?: CallOverrides): Promise; maxRedeem(owner: string, overrides?: CallOverrides): Promise; maxWithdraw(owner: string, overrides?: CallOverrides): Promise; minimumAssetAmountLeftAfterLoss( overrides?: CallOverrides ): Promise; mint( shares: BigNumberish, receiver: string, overrides?: Overrides & { from?: string } ): Promise; name(overrides?: CallOverrides): Promise; previewDeposit( assets: BigNumberish, overrides?: CallOverrides ): Promise; previewMint( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewRedeem( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewWithdraw( assets: BigNumberish, overrides?: CallOverrides ): Promise; redeem( shares: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string } ): Promise; registerTrancheLoss( lossId: BigNumberish, lossAmount: BigNumberish, doMintLossTokens: boolean, overrides?: Overrides & { from?: string } ): Promise; removeUserActiveShares( user: string, shares: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; repayLoss( lossId: BigNumberish, amount: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; safeBatchTransferFrom( from: string, to: string, ids: BigNumberish[], values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string } ): Promise; safeTransferFrom( from: string, to: string, id: BigNumberish, value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string } ): Promise; setApprovalForAll( operator: string, approved: boolean, overrides?: Overrides & { from?: string } ): Promise; supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides ): Promise; symbol(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer( to: string, value: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; transferFrom( from: string, to: string, value: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; userActiveAssets(user: string, overrides?: CallOverrides): Promise; userClaimableLoss( user: string, lossId: BigNumberish, overrides?: CallOverrides ): Promise; userClaimedLosses( user: string, lossId: BigNumberish, overrides?: CallOverrides ): Promise; withdraw( assets: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string } ): Promise; callStatic: { allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise; approve( spender: string, value: BigNumberish, overrides?: CallOverrides ): Promise; asset(overrides?: CallOverrides): Promise; "balanceOf(address,uint256)"( account: string, id: BigNumberish, overrides?: CallOverrides ): Promise; "balanceOf(address)"( account: string, overrides?: CallOverrides ): Promise; balanceOfBatch( accounts: string[], ids: BigNumberish[], overrides?: CallOverrides ): Promise; batchMintLossTokens( lossId: BigNumberish, batchSize: BigNumberish, overrides?: CallOverrides ): Promise; calculateMaximumLossAmount(overrides?: CallOverrides): Promise; claimRepaidLoss( user: string, lossId: BigNumberish, overrides?: CallOverrides ): Promise; convertToAssets( shares: BigNumberish, overrides?: CallOverrides ): Promise; convertToShares( assets: BigNumberish, overrides?: CallOverrides ): Promise; decimals(overrides?: CallOverrides): Promise; deposit( assets: BigNumberish, receiver: string, overrides?: CallOverrides ): Promise; isApprovedForAll( account: string, operator: string, overrides?: CallOverrides ): Promise; isLossMintingComplete( lossId: BigNumberish, overrides?: CallOverrides ): Promise; lossDetails( lossId: BigNumberish, overrides?: CallOverrides ): Promise; maxDeposit(receiver: string, overrides?: CallOverrides): Promise; maxMint(receiver: string, overrides?: CallOverrides): Promise; maxRedeem(owner: string, overrides?: CallOverrides): Promise; maxWithdraw(owner: string, overrides?: CallOverrides): Promise; minimumAssetAmountLeftAfterLoss( overrides?: CallOverrides ): Promise; mint( shares: BigNumberish, receiver: string, overrides?: CallOverrides ): Promise; name(overrides?: CallOverrides): Promise; previewDeposit( assets: BigNumberish, overrides?: CallOverrides ): Promise; previewMint( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewRedeem( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewWithdraw( assets: BigNumberish, overrides?: CallOverrides ): Promise; redeem( shares: BigNumberish, receiver: string, owner: string, overrides?: CallOverrides ): Promise; registerTrancheLoss( lossId: BigNumberish, lossAmount: BigNumberish, doMintLossTokens: boolean, overrides?: CallOverrides ): Promise; removeUserActiveShares( user: string, shares: BigNumberish, overrides?: CallOverrides ): Promise; repayLoss( lossId: BigNumberish, amount: BigNumberish, overrides?: CallOverrides ): Promise; safeBatchTransferFrom( from: string, to: string, ids: BigNumberish[], values: BigNumberish[], data: BytesLike, overrides?: CallOverrides ): Promise; safeTransferFrom( from: string, to: string, id: BigNumberish, value: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise; setApprovalForAll( operator: string, approved: boolean, overrides?: CallOverrides ): Promise; supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides ): Promise; symbol(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer( to: string, value: BigNumberish, overrides?: CallOverrides ): Promise; transferFrom( from: string, to: string, value: BigNumberish, overrides?: CallOverrides ): Promise; userActiveAssets( user: string, overrides?: CallOverrides ): Promise; userClaimableLoss( user: string, lossId: BigNumberish, overrides?: CallOverrides ): Promise; userClaimedLosses( user: string, lossId: BigNumberish, overrides?: CallOverrides ): Promise; withdraw( assets: BigNumberish, receiver: string, owner: string, overrides?: CallOverrides ): Promise; }; filters: { "Approval(address,address,uint256)"( owner?: string | null, spender?: string | null, value?: null ): ApprovalEventFilter; Approval( owner?: string | null, spender?: string | null, value?: null ): ApprovalEventFilter; "ApprovalForAll(address,address,bool)"( account?: string | null, operator?: string | null, approved?: null ): ApprovalForAllEventFilter; ApprovalForAll( account?: string | null, operator?: string | null, approved?: null ): ApprovalForAllEventFilter; "Deposit(address,address,uint256,uint256)"( sender?: string | null, owner?: string | null, assets?: null, shares?: null ): DepositEventFilter; Deposit( sender?: string | null, owner?: string | null, assets?: null, shares?: null ): DepositEventFilter; "LossClaimed(address,uint256,uint256)"( user?: string | null, lossId?: BigNumberish | null, amount?: null ): LossClaimedEventFilter; LossClaimed( user?: string | null, lossId?: BigNumberish | null, amount?: null ): LossClaimedEventFilter; "LossMintingComplete(uint256)"( lossId?: BigNumberish | null ): LossMintingCompleteEventFilter; LossMintingComplete( lossId?: BigNumberish | null ): LossMintingCompleteEventFilter; "LossRegistered(uint256,uint256,uint256)"( lossId?: BigNumberish | null, lossAmount?: null, usersCount?: null ): LossRegisteredEventFilter; LossRegistered( lossId?: BigNumberish | null, lossAmount?: null, usersCount?: null ): LossRegisteredEventFilter; "LossReturned(uint256,uint256)"( lossId?: BigNumberish | null, amount?: null ): LossReturnedEventFilter; LossReturned( lossId?: BigNumberish | null, amount?: null ): LossReturnedEventFilter; "MintedLossTokensToUsers(uint256,uint256)"( lossId?: BigNumberish | null, batchCount?: null ): MintedLossTokensToUsersEventFilter; MintedLossTokensToUsers( lossId?: BigNumberish | null, batchCount?: null ): MintedLossTokensToUsersEventFilter; "Transfer(address,address,uint256)"( from?: string | null, to?: string | null, value?: null ): TransferEventFilter; Transfer( from?: string | null, to?: string | null, value?: null ): TransferEventFilter; "TransferBatch(address,address,address,uint256[],uint256[])"( operator?: string | null, from?: string | null, to?: string | null, ids?: null, values?: null ): TransferBatchEventFilter; TransferBatch( operator?: string | null, from?: string | null, to?: string | null, ids?: null, values?: null ): TransferBatchEventFilter; "TransferSingle(address,address,address,uint256,uint256)"( operator?: string | null, from?: string | null, to?: string | null, id?: null, value?: null ): TransferSingleEventFilter; TransferSingle( operator?: string | null, from?: string | null, to?: string | null, id?: null, value?: null ): TransferSingleEventFilter; "URI(string,uint256)"( value?: null, id?: BigNumberish | null ): URIEventFilter; URI(value?: null, id?: BigNumberish | null): URIEventFilter; "Withdraw(address,address,address,uint256,uint256)"( sender?: string | null, receiver?: string | null, owner?: string | null, assets?: null, shares?: null ): WithdrawEventFilter; Withdraw( sender?: string | null, receiver?: string | null, owner?: string | null, assets?: null, shares?: null ): WithdrawEventFilter; }; estimateGas: { allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise; approve( spender: string, value: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; asset(overrides?: CallOverrides): Promise; "balanceOf(address,uint256)"( account: string, id: BigNumberish, overrides?: CallOverrides ): Promise; "balanceOf(address)"( account: string, overrides?: CallOverrides ): Promise; balanceOfBatch( accounts: string[], ids: BigNumberish[], overrides?: CallOverrides ): Promise; batchMintLossTokens( lossId: BigNumberish, batchSize: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; calculateMaximumLossAmount(overrides?: CallOverrides): Promise; claimRepaidLoss( user: string, lossId: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; convertToAssets( shares: BigNumberish, overrides?: CallOverrides ): Promise; convertToShares( assets: BigNumberish, overrides?: CallOverrides ): Promise; decimals(overrides?: CallOverrides): Promise; deposit( assets: BigNumberish, receiver: string, overrides?: Overrides & { from?: string } ): Promise; isApprovedForAll( account: string, operator: string, overrides?: CallOverrides ): Promise; isLossMintingComplete( lossId: BigNumberish, overrides?: CallOverrides ): Promise; lossDetails( lossId: BigNumberish, overrides?: CallOverrides ): Promise; maxDeposit(receiver: string, overrides?: CallOverrides): Promise; maxMint(receiver: string, overrides?: CallOverrides): Promise; maxRedeem(owner: string, overrides?: CallOverrides): Promise; maxWithdraw(owner: string, overrides?: CallOverrides): Promise; minimumAssetAmountLeftAfterLoss( overrides?: CallOverrides ): Promise; mint( shares: BigNumberish, receiver: string, overrides?: Overrides & { from?: string } ): Promise; name(overrides?: CallOverrides): Promise; previewDeposit( assets: BigNumberish, overrides?: CallOverrides ): Promise; previewMint( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewRedeem( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewWithdraw( assets: BigNumberish, overrides?: CallOverrides ): Promise; redeem( shares: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string } ): Promise; registerTrancheLoss( lossId: BigNumberish, lossAmount: BigNumberish, doMintLossTokens: boolean, overrides?: Overrides & { from?: string } ): Promise; removeUserActiveShares( user: string, shares: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; repayLoss( lossId: BigNumberish, amount: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; safeBatchTransferFrom( from: string, to: string, ids: BigNumberish[], values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string } ): Promise; safeTransferFrom( from: string, to: string, id: BigNumberish, value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string } ): Promise; setApprovalForAll( operator: string, approved: boolean, overrides?: Overrides & { from?: string } ): Promise; supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides ): Promise; symbol(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer( to: string, value: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; transferFrom( from: string, to: string, value: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; userActiveAssets( user: string, overrides?: CallOverrides ): Promise; userClaimableLoss( user: string, lossId: BigNumberish, overrides?: CallOverrides ): Promise; userClaimedLosses( user: string, lossId: BigNumberish, overrides?: CallOverrides ): Promise; withdraw( assets: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string } ): Promise; }; populateTransaction: { allowance( owner: string, spender: string, overrides?: CallOverrides ): Promise; approve( spender: string, value: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; asset(overrides?: CallOverrides): Promise; "balanceOf(address,uint256)"( account: string, id: BigNumberish, overrides?: CallOverrides ): Promise; "balanceOf(address)"( account: string, overrides?: CallOverrides ): Promise; balanceOfBatch( accounts: string[], ids: BigNumberish[], overrides?: CallOverrides ): Promise; batchMintLossTokens( lossId: BigNumberish, batchSize: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; calculateMaximumLossAmount( overrides?: CallOverrides ): Promise; claimRepaidLoss( user: string, lossId: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; convertToAssets( shares: BigNumberish, overrides?: CallOverrides ): Promise; convertToShares( assets: BigNumberish, overrides?: CallOverrides ): Promise; decimals(overrides?: CallOverrides): Promise; deposit( assets: BigNumberish, receiver: string, overrides?: Overrides & { from?: string } ): Promise; isApprovedForAll( account: string, operator: string, overrides?: CallOverrides ): Promise; isLossMintingComplete( lossId: BigNumberish, overrides?: CallOverrides ): Promise; lossDetails( lossId: BigNumberish, overrides?: CallOverrides ): Promise; maxDeposit( receiver: string, overrides?: CallOverrides ): Promise; maxMint( receiver: string, overrides?: CallOverrides ): Promise; maxRedeem( owner: string, overrides?: CallOverrides ): Promise; maxWithdraw( owner: string, overrides?: CallOverrides ): Promise; minimumAssetAmountLeftAfterLoss( overrides?: CallOverrides ): Promise; mint( shares: BigNumberish, receiver: string, overrides?: Overrides & { from?: string } ): Promise; name(overrides?: CallOverrides): Promise; previewDeposit( assets: BigNumberish, overrides?: CallOverrides ): Promise; previewMint( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewRedeem( shares: BigNumberish, overrides?: CallOverrides ): Promise; previewWithdraw( assets: BigNumberish, overrides?: CallOverrides ): Promise; redeem( shares: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string } ): Promise; registerTrancheLoss( lossId: BigNumberish, lossAmount: BigNumberish, doMintLossTokens: boolean, overrides?: Overrides & { from?: string } ): Promise; removeUserActiveShares( user: string, shares: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; repayLoss( lossId: BigNumberish, amount: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; safeBatchTransferFrom( from: string, to: string, ids: BigNumberish[], values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string } ): Promise; safeTransferFrom( from: string, to: string, id: BigNumberish, value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string } ): Promise; setApprovalForAll( operator: string, approved: boolean, overrides?: Overrides & { from?: string } ): Promise; supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides ): Promise; symbol(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer( to: string, value: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; transferFrom( from: string, to: string, value: BigNumberish, overrides?: Overrides & { from?: string } ): Promise; userActiveAssets( user: string, overrides?: CallOverrides ): Promise; userClaimableLoss( user: string, lossId: BigNumberish, overrides?: CallOverrides ): Promise; userClaimedLosses( user: string, lossId: BigNumberish, overrides?: CallOverrides ): Promise; withdraw( assets: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string } ): Promise; }; }