/**
 * This code was AUTOGENERATED using the kinobi library.
 * Please DO NOT EDIT THIS FILE, instead use visitors
 * to add features, then rerun kinobi to update it.
 *
 * @see https://github.com/metaplex-foundation/kinobi
 */
import { Context, Pda, PublicKey, Signer, TransactionBuilder } from '@metaplex-foundation/umi';
import { Serializer } from '@metaplex-foundation/umi/serializers';
import { PickPartial } from '../shared';
import { TokenStandardArgs } from '../types';
export type BurnV1InstructionAccounts = {
    /** Asset owner or Utility delegate */
    authority?: Signer;
    /** Metadata of the Collection */
    collectionMetadata?: PublicKey | Pda;
    /** Metadata (pda of ['metadata', program id, mint id]) */
    metadata?: PublicKey | Pda;
    /** Edition of the asset */
    edition?: PublicKey | Pda;
    /** Mint of token asset */
    mint: PublicKey | Pda;
    /** Token account to close */
    token?: PublicKey | Pda;
    /** Master edition account */
    masterEdition?: PublicKey | Pda;
    /** Master edition mint of the asset */
    masterEditionMint?: PublicKey | Pda;
    /** Master edition token account */
    masterEditionToken?: PublicKey | Pda;
    /** Edition marker account */
    editionMarker?: PublicKey | Pda;
    /** Token record account */
    tokenRecord?: PublicKey | Pda;
    /** System program */
    systemProgram?: PublicKey | Pda;
    /** Instructions sysvar account */
    sysvarInstructions?: PublicKey | Pda;
    /** SPL Token Program */
    splTokenProgram?: PublicKey | Pda;
};
export type BurnV1InstructionData = {
    discriminator: number;
    burnV1Discriminator: number;
    amount: bigint;
};
export type BurnV1InstructionDataArgs = {
    amount?: number | bigint;
};
export declare function getBurnV1InstructionDataSerializer(): Serializer<BurnV1InstructionDataArgs, BurnV1InstructionData>;
export type BurnV1InstructionExtraArgs = {
    tokenOwner: PublicKey;
    tokenStandard: TokenStandardArgs;
};
export type BurnV1InstructionArgs = PickPartial<BurnV1InstructionDataArgs & BurnV1InstructionExtraArgs, 'tokenOwner'>;
export declare function burnV1(context: Pick<Context, 'eddsa' | 'identity' | 'payer' | 'programs'>, input: BurnV1InstructionAccounts & BurnV1InstructionArgs): TransactionBuilder;
