import * as beet from '@bbachain/beet';
import * as web3 from '@bbachain/web3.js';
import { CreateMetadataAccountArgs } from '../types';
/**
 * @category Instructions
 * @category CreateMetadataAccount
 */
export type CreateMetadataAccountInstructionArgs = {
    createMetadataAccountArgs: CreateMetadataAccountArgs;
};
/**
 * @category Instructions
 * @category CreateMetadataAccount
 */
export declare const CreateMetadataAccountStruct: beet.FixableBeetArgsStruct<CreateMetadataAccountInstructionArgs & {
    instructionDiscriminator: number;
}>;
/**
 * Accounts required by the _CreateMetadataAccount_ instruction
 *
 * @property [_writable_] metadata Metadata key (pda of ['metadata', program id, mint id])
 * @property [] mint Mint of token asset
 * @property [**signer**] mintAuthority Mint authority
 * @property [_writable_, **signer**] payer payer
 * @property [] updateAuthority update authority info
 * @category Instructions
 * @category CreateMetadataAccount
 */
export type CreateMetadataAccountInstructionAccounts = {
    metadata: web3.PublicKey;
    mint: web3.PublicKey;
    mintAuthority: web3.PublicKey;
    payer: web3.PublicKey;
    updateAuthority: web3.PublicKey;
    systemProgram?: web3.PublicKey;
    rent?: web3.PublicKey;
};
export declare const createMetadataAccountInstructionDiscriminator = 0;
/**
 * Creates a _CreateMetadataAccount_ instruction.
 *
 * Optional accounts that are not provided will be omitted from the accounts
 * array passed with the instruction.
 * An optional account that is set cannot follow an optional account that is unset.
 * Otherwise an Error is raised.
 *
 * @param accounts that will be accessed while the instruction is processed
 * @param args to provide as instruction data to the program
 *
 * @category Instructions
 * @category CreateMetadataAccount
 */
export declare function createCreateMetadataAccountInstruction(accounts: CreateMetadataAccountInstructionAccounts, args: CreateMetadataAccountInstructionArgs, programId?: web3.PublicKey): web3.TransactionInstruction;
//# sourceMappingURL=CreateMetadataAccount.d.ts.map