import type { PublicKey, Signer } from '@solana/web3.js'; import { TransactionInstruction } from '@solana/web3.js'; export declare enum PermissionedBurnInstruction { Initialize = 0, Burn = 1, BurnChecked = 2 } /** * Construct a InitializePermissionedBurnConfig instruction * * @param mint Token mint account * @param authority The permissioned burn mint's authority * @param programId SPL Token program account */ export declare function createInitializePermissionedBurnInstruction(mint: PublicKey, authority: PublicKey, programId?: PublicKey): TransactionInstruction; /** * Construct a permissioned burn instruction * * @param account Token account to update * @param mint Token mint account * @param owner The account's owner/delegate * @param permissionedBurnAuthority Authority configured on the mint for permissioned burns * @param amount Amount to burn * @param multiSigners The signer account(s) * @param programId SPL Token program account */ export declare function createPermissionedBurnInstruction(account: PublicKey, mint: PublicKey, owner: PublicKey, permissionedBurnAuthority: PublicKey, amount: number | bigint, multiSigners?: (Signer | PublicKey)[], programId?: PublicKey): TransactionInstruction; /** * Construct a checked permissioned burn instruction * * @param account Token account to update * @param mint Token mint account * @param owner The account's owner/delegate * @param permissionedBurnAuthority Authority configured on the mint for permissioned burns * @param amount Amount to burn * @param decimals Number of the decimals of the mint * @param multiSigners The signer account(s) * @param programId SPL Token program account */ export declare function createPermissionedBurnCheckedInstruction(account: PublicKey, mint: PublicKey, owner: PublicKey, permissionedBurnAuthority: PublicKey, amount: number | bigint, decimals: number, multiSigners?: (Signer | PublicKey)[], programId?: PublicKey): TransactionInstruction; //# sourceMappingURL=instructions.d.ts.map