/// import { AccountInfo, Connection, PublicKey } from '@solana/web3.js'; import BN from 'bn.js'; import { Account } from '../../../Account'; import { AnyPublicKey, StringPublicKey } from "../../../types"; import { Borsh } from "../../../utils"; import { SafetyDepositBox } from './SafetyDepositBox'; import { VaultKey } from '../VaultProgram'; import { Buffer } from 'buffer'; export declare class AmountArgs extends Borsh.Data<{ instruction: number; amount: BN; }> { static readonly SCHEMA: any; instruction: number; amount: BN; } export declare class NumberOfShareArgs extends Borsh.Data<{ instruction: number; numberOfShares: BN; }> { static readonly SCHEMA: any; instruction: number; numberOfShares: BN; } export declare enum VaultState { Inactive = 0, Active = 1, Combined = 2, Deactivated = 3 } declare type Args = { tokenProgram: StringPublicKey; fractionMint: StringPublicKey; authority: StringPublicKey; fractionTreasury: StringPublicKey; redeemTreasury: StringPublicKey; allowFurtherShareCreation: boolean; pricingLookupAddress: StringPublicKey; tokenTypeCount: number; state: VaultState; lockedPricePerShare: BN; }; export declare class VaultData extends Borsh.Data { static readonly SCHEMA: any; key: VaultKey; tokenProgram: StringPublicKey; fractionMint: StringPublicKey; authority: StringPublicKey; fractionTreasury: StringPublicKey; redeemTreasury: StringPublicKey; allowFurtherShareCreation: boolean; pricingLookupAddress: StringPublicKey; tokenTypeCount: number; state: VaultState; lockedPricePerShare: BN; constructor(args: Args); } export declare class Vault extends Account { constructor(pubkey: AnyPublicKey, info: AccountInfo); static getPDA(pubkey: AnyPublicKey): Promise; static isCompatible(data: Buffer): boolean; getSafetyDepositBoxes(connection: Connection): Promise; } export {};