import { PublicKey, VersionedTransaction, TransactionSignature, TransactionInstruction } from "@solana/web3.js"; import { BN } from "@coral-xyz/anchor"; import { BaseClient, BaseTxBuilder, TxOptions } from "./base"; import { EmergencyAccessUpdateArgs } from "../models"; declare class TxBuilder extends BaseTxBuilder { emergencyAccessUpdateIx(args: Partial, signer?: PublicKey): Promise; emergencyAccessUpdateTx(args: Partial, txOptions?: TxOptions): Promise; enableDisableProtocolsIx(integrationProgram: PublicKey, protocolBitmask: number, setEnabled: boolean, glamSigner: PublicKey): Promise; enableDisableProtocolsTx(integrationProgram: PublicKey, protocolBitmask: number, setEnabled: boolean, txOptions: TxOptions): Promise; grantRevokeDelegatePermissionsIx(delegate: PublicKey, integrationProgram: PublicKey, protocolBitflag: number, permissionsBitmask: BN, setGranted: boolean, signer?: PublicKey): Promise; grantRevokeDelegatePermissionsTx(delegate: PublicKey, integrationProgram: PublicKey, protocolBitflag: number, permissionsBitmask: BN, setGranted: boolean, txOptions: TxOptions): Promise; addAssetsIx(assets: PublicKey[], signer?: PublicKey): Promise; addAssetsTx(assets: PublicKey[], txOptions?: TxOptions): Promise; deleteAssetsIx(assets: PublicKey[], signer?: PublicKey): Promise; deleteAssetsTx(assets: PublicKey[], txOptions?: TxOptions): Promise; setProtocolPolicyIx(integrationProgram: PublicKey, protocolBitflag: number, data: Buffer, glamSigner: PublicKey): Promise; setProtocolPolicyTx(integrationProgram: PublicKey, protocolBitflag: number, data: Buffer, txOptions: TxOptions): Promise; } export declare class AccessClient { readonly base: BaseClient; txBuilder: TxBuilder; constructor(base: BaseClient); /** * Add assets to the vault allowlist */ addAssets(assets: PublicKey[], txOptions?: TxOptions): Promise; /** * Delete assets from the vault allowlist. * Assets must have zero vault balance (ATA empty or non-existent). */ deleteAssets(assets: PublicKey[], txOptions?: TxOptions): Promise; /** * Emergency access update - bypasses timelock for critical access control changes */ emergencyAccessUpdate(args: Partial, txOptions?: TxOptions): Promise; /** * Enable protocols for an integration program */ enableProtocols(integrationProgram: PublicKey, protocolBitmask: number, txOptions?: TxOptions): Promise; /** * Disable protocols for an integration program */ disableProtocols(integrationProgram: PublicKey, protocolBitmask: number, txOptions?: TxOptions): Promise; /** * Grant delegate permissions for a specific protocol */ grantDelegatePermissions(delegate: PublicKey, integrationProgram: PublicKey, protocolBitflag: number, permissionsBitmask: BN, txOptions?: TxOptions): Promise; /** * Revoke delegate permissions for a specific protocol */ revokeDelegatePermissions(delegate: PublicKey, integrationProgram: PublicKey, protocolBitflag: number, permissionsBitmask: BN, txOptions?: TxOptions): Promise; /** * Set protocol policy data for an integration */ setProtocolPolicy(integrationProgram: PublicKey, protocolBitflag: number, data: Buffer, txOptions?: TxOptions): Promise; } export {};