/** * Vault Client — main interface for all vault operations. * * Composes lock management, burn engine, and conviction vault into a * single client that mirrors the on-chain clawd_protocol instructions. */ import { Connection, PublicKey } from "@solana/web3.js"; import type { VaultConfig, VaultState, LockParams, LockPosition, SdkInstructions } from "../types/index.js"; /** * Build an initialize_vault instruction. */ export declare function buildInitializeVaultInstruction(baseMint: PublicKey, vaultTokenAccount: PublicKey, dbcConfig: PublicKey, authority: PublicKey, config: VaultConfig, tokenProgram?: PublicKey): SdkInstructions; /** * Build a lock_tokens instruction. */ export declare function buildLockTokensInstruction(vault: PublicKey, ownerTokenAccount: PublicKey, vaultTokenAccount: PublicKey, baseMint: PublicKey, owner: PublicKey, params: LockParams, tokenProgram?: PublicKey): SdkInstructions; /** * Build an unlock_tokens instruction. * Set forceEarlyExit=true to unlock before maturity (triggers 20% conviction burn). */ export declare function buildUnlockTokensInstruction(vault: PublicKey, ownerTokenAccount: PublicKey, vaultTokenAccount: PublicKey, burnMint: PublicKey, baseMint: PublicKey, owner: PublicKey, forceEarlyExit?: boolean, tokenProgram?: PublicKey): SdkInstructions; export declare function fetchVaultState(connection: Connection, baseMint: PublicKey): Promise; export declare function fetchLockPosition(connection: Connection, vault: PublicKey, owner: PublicKey): Promise; //# sourceMappingURL=vault-client.d.ts.map