import { TransactionResponse } from '@ethersproject/providers'; import { BigNumberish } from 'ethers'; import { LPDA as LPDAInterface } from '../../contracts'; import { Constructor } from '../core/Vault'; export declare enum LPDAState { NotLive = "NOT_LIVE", Live = "LIVE", Successful = "SUCCESSFUL", NotSuccessful = "NOT_SUCCESSFUL" } export declare enum LPDAEvents { CreatedLPDA = "CreatedLPDA", BidEntered = "BidEntered", Refunded = "Refunded", MintedRaes = "MintedRaes", CuratorClaimed = "CuratorClaimed", FeeDispersed = "FeeDispersed", CuratorRedeemedNFT = "CuratorRedeemedNFT" } export interface LPDAInfo { startTime: number; endTime: number; dropPerSecond: string; startPrice: string; endPrice: string; minBid: string; supply: number; numSold: number; curator: string; curatorClaimed: string; } export interface LPDABid { bidderAddress: string; priceWei: string; quantity: number; transactionHash: string; blockNumber: number; } export interface LPDACashOut { totalAmount: string; curatorAmount: string; fee: string; feePercentage: string; maxFee: string; } export declare function LPDAModule(Base: TBase): { new (...args: any[]): { "__#1@#address": string; lpdaContract: LPDAInterface; getAuction(): Promise; getAuctionState(): Promise; getBalanceContributed(address: string): Promise; getBalanceRefunded(address: string): Promise; getBids(address?: string): Promise; getCurrentPrice(): Promise; getLPDAFeeReceiver(): Promise; getMinters(): Promise; getNumMinted(address: string): Promise; getRefundOwed(address: string): Promise; getCashOutInfo(): Promise; enterBid(amount: BigNumberish): Promise; redeemNTFCurator(tokenAddress: string, tokenId: BigNumberish): Promise; settleAddress(minter?: string): Promise; settleAllAddresses(): Promise; settleCurator(): Promise; updateLPDAFeeReceiver(receiver: string): Promise; subscribeToBids(callback: (bid: { bidderAddress: string; priceWei: string; quantity: number; transactionHash: string; blockNumber: number; }) => void): void; unsubscribeFromBids(): void; estimateGas: { enterBid: (amount: BigNumberish) => Promise; redeemNFTCurator: (tokenAddress: string, tokenId: BigNumberish) => Promise; settleAddress: (minter?: string) => Promise; settleCurator: () => Promise; updateLPDAFeeReceiver: (receiver: string) => Promise; }; chainId: import("../../constants").Chain; vaultAddress: string; modules?: string[] | undefined; isReadOnly: boolean; connection: import("../..").Connection; getTokenInfo(): Promise<{ tokenAddress: string; tokenId: string; }>; }; } & TBase;