///
import * as web3 from '@solana/web3.js';
import * as beet from '@metaplex-foundation/beet';
import { Key } from '../types/Key';
import { VaultState } from '../types/VaultState';
export declare type VaultArgs = {
key: Key;
tokenProgram: web3.PublicKey;
fractionMint: web3.PublicKey;
authority: web3.PublicKey;
fractionTreasury: web3.PublicKey;
redeemTreasury: web3.PublicKey;
allowFurtherShareCreation: boolean;
pricingLookupAddress: web3.PublicKey;
tokenTypeCount: number;
state: VaultState;
lockedPricePerShare: beet.bignum;
extraByte: number;
};
export declare class Vault implements VaultArgs {
readonly key: Key;
readonly tokenProgram: web3.PublicKey;
readonly fractionMint: web3.PublicKey;
readonly authority: web3.PublicKey;
readonly fractionTreasury: web3.PublicKey;
readonly redeemTreasury: web3.PublicKey;
readonly allowFurtherShareCreation: boolean;
readonly pricingLookupAddress: web3.PublicKey;
readonly tokenTypeCount: number;
readonly state: VaultState;
readonly lockedPricePerShare: beet.bignum;
readonly extraByte: number;
private constructor();
static fromArgs(args: VaultArgs): Vault;
static fromAccountInfo(accountInfo: web3.AccountInfo, offset?: number): [Vault, number];
static fromAccountAddress(connection: web3.Connection, address: web3.PublicKey): Promise;
static deserialize(buf: Buffer, offset?: number): [Vault, number];
serialize(): [Buffer, number];
static get byteSize(): number;
static getMinimumBalanceForRentExemption(connection: web3.Connection, commitment?: web3.Commitment): Promise;
static hasCorrectByteSize(buf: Buffer, offset?: number): boolean;
pretty(): {
key: string;
tokenProgram: string;
fractionMint: string;
authority: string;
fractionTreasury: string;
redeemTreasury: string;
allowFurtherShareCreation: boolean;
pricingLookupAddress: string;
tokenTypeCount: number;
state: string;
lockedPricePerShare: beet.bignum;
extraByte: number;
};
}
export declare const vaultBeet: beet.BeetStruct;