/// import { PublicKey } from "@solana/web3.js"; import { WithdrawEpoch as IDLWithdrawEpoch } from "../idl/idl.types"; import { Base } from "../rpc/Base"; import { CredixClient, SolanaContext } from "../rpc/CredixClient"; import { Market } from "./Market"; import { WithdrawRequest } from "./WithdrawRequest"; export declare const WITHDRAW_EPOCH_PHASE: { readonly REQUEST: "REQUEST"; readonly REDEEM: "REDEEM"; readonly AVAILABLE_LIQUIDITY: "AVAILABLE_LIQUIDITY"; readonly CLOSED: "CLOSED"; }; export type WithdrawEpochPhase = keyof typeof WITHDRAW_EPOCH_PHASE; export declare class WithdrawEpoch extends Base { address: PublicKey; idx: number; market: Market; constructor(address: PublicKey, idx: number, market: Market, solanaContext: SolanaContext, client: CredixClient, programVersion: IDLWithdrawEpoch); get goLive(): number; get requestDays(): number; get requestSeconds(): number; get requests(): WithdrawRequest[]; investorWithdrawRequest(investor: PublicKey): WithdrawRequest | null; fetchWithdrawRequest(investor: PublicKey): Promise; get redeemDays(): number; get redeemSeconds(): number; get availableLiquidityDays(): number; get availableLiquiditySeconds(): number; get totalRequestedBaseAmount(): import("@solana/web3.js").TokenAmount; get phase(): WithdrawEpochPhase; getInvestorLockedLiquidity(investor: PublicKey): import("@solana/web3.js").TokenAmount; getWithdrawableAmount(investor: PublicKey): import("@solana/web3.js").TokenAmount; reload(): Promise; private createWithdrawRequestBuilder; createWithdrawRequestIx(amount: number, investor?: PublicKey, payer?: PublicKey): Promise; createWithdrawRequest(amount: number): Promise; private createWithdrawRequestForInvestorBuilder; createWithdrawRequestForInvestor(amount: number, investor: PublicKey): Promise; private redeemRequestBuilder; redeemRequestIx(amount: number, owner?: PublicKey): Promise; redeemRequest(amount: number): Promise; static generatePDA(market: Market, withEpochIdx: number): [PublicKey, number]; } //# sourceMappingURL=WithdrawEpoch.d.ts.map