/**
 * 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';
export type CloseAccountsInstructionAccounts = {
    /** 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;
    /** Authority to close ownerless accounts */
    authority?: Signer;
    /** The destination account that will receive the rent. */
    destination: PublicKey | Pda;
};
export type CloseAccountsInstructionData = {
    discriminator: number;
};
export type CloseAccountsInstructionDataArgs = {};
export declare function getCloseAccountsInstructionDataSerializer(): Serializer<CloseAccountsInstructionDataArgs, CloseAccountsInstructionData>;
export declare function closeAccounts(context: Pick<Context, 'eddsa' | 'identity' | 'programs'>, input: CloseAccountsInstructionAccounts): TransactionBuilder;
