import { PublicKey } from "@solana/web3.js"; import { BN } from "@coral-xyz/anchor"; export declare function resolveStateAclsStaging(integrationAcls: Array<{ integrationProgram: PublicKey; }> | null | undefined, fallback: boolean): boolean; /** * Formats a bitmask as a binary string. * * @param bitmask - The bitmask to format, either a number or a BN. * @param padding - The number of bits to pad the bitmask with. * @returns e.g. '0000000000001100' if bitmask is 12 and padding is 16. */ export declare function formatBits(bitmask: number | BN, padding?: number): string; /** * Parses a bitmask into a binary string and a list of protocol names. * * @param integrationProgram - The integration program ID. * @param protocolsBitmask - The bitmask to parse. * @returns An object containing the bitmask string and a list of protocol names. */ export declare function parseProtocolsBitmask(integrationProgram: PublicKey, protocolsBitmask: number | BN, staging: boolean): { protocols: { bitflag: number | BN; name: string; }[]; }; /** * Parses a permissions bitmask for a specific protocol to get permission names. * * @param integrationProgram - The integration program ID. * @param protocolBitflag - The protocol bitflag to identify which protocol. * @param permissionsBitmask - The permissions bitmask to parse. * @returns An object containing the bitmask string and a list of permission names. */ export declare function parseProtocolPermissionsBitmask(integrationProgram: PublicKey, protocolBitflag: number | BN, permissionsBitmask: number | BN, staging: boolean): { protocol: string; permissions: { bitflag: number | BN; name: string; }[]; }; /** * Given the protocol name and a list of permission names, returns the permissions bitmask. */ export declare function parsePermissionNames({ protocolName, permissionNames, staging, }: { protocolName: string; permissionNames: string[]; staging: boolean; }): { integrationProgram: PublicKey; protocolBitflag: number; permissionsBitmask: BN; };