import { TransactionResponse } from '@ethersproject/abstract-provider'; import { BigNumberish } from 'ethers'; import { TokenStandard } from '../../constants'; import { OptimisticBid as OptimisticBidInterface } from '../../contracts'; import { Config, Wallet } from '../../utils'; import { Constructor } from '../core/Vault'; import { GasData } from '../../types/types'; export declare enum OptimisticBidState { Inactive = "INACTIVE", Live = "LIVE", Success = "SUCCESS" } export interface OptimisticBidInfo { auctionId: number; startTime: number; endTime: number; proposer: string; state: OptimisticBidState; raePrice: string; ethBalance: string; raeBalance: string; totalSupply: string; } export declare function OptimisticBidModule(Base: TBase): { new (...args: any[]): { "__#2@#address": string; optimisticBidContract: OptimisticBidInterface; getOptimisticBidFeeReceiver(): Promise; getRejectionPeriod(): Promise; getBuyout(auctionId?: BigNumberish): Promise; getAllBuyouts(): Promise; "__#2@#getAuctionId"(): Promise; "__#2@#getBuyoutInfo"(auctionId: BigNumberish, rejectionPeriod?: number): Promise; buyRaes(amount: BigNumberish): Promise; "__#2@#buyRaes"(amount: BigNumberish): Promise; cashProceeds(): Promise; "__#2@#cashProceeds"(): Promise; endBuyout(): Promise; "__#2@#endBuyout"(): Promise; redeemNFT(): Promise; "__#2@#redeemNFT"(): Promise; redeemNFTAndWithdrawTokens(tokens: { standard: TokenStandard; address: string; id?: BigNumberish; amount?: BigNumberish; receiver?: string; }[]): Promise; startBuyout(amount: BigNumberish, value: BigNumberish): Promise; "__#2@#startBuyout"(amount: BigNumberish, value: BigNumberish): Promise; updateOptimisticBidFeeReceiver(feeReceiver: string): Promise; "__#2@#updateOptimisticBidFeeReceiver"(feeReceiver: string): Config; withdrawBalance(auctionId?: string): Promise; "__#2@#withdrawBalance"(auctionId?: string): Promise; withdrawTokens(tokens: { standard: TokenStandard; address: string; id?: BigNumberish; amount?: BigNumberish; receiver?: string; }[]): Promise; "__#2@#withdrawTokens"(tokens: { standard: TokenStandard; address: string; id?: BigNumberish; amount?: BigNumberish; receiver?: string; }[]): Promise; "__#2@#encodedWithdrawTokenData"(tokens: { standard: TokenStandard; address: string; id?: BigNumberish; amount?: BigNumberish; receiver?: string; }[], userWallet?: Wallet): Promise; estimateGasOptimistic: { buyRaes: (amount: BigNumberish) => Promise; }; chainId: import("../../constants").Chain; vaultAddress: string; modules?: string[] | undefined; isReadOnly: boolean; connection: import("../../types/types").Connection; getTokenInfo(): Promise<{ tokenAddress: string; tokenId: string; }>; }; } & TBase;