/**
 * 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, Option, OptionOrNullable, Pda, PublicKey, Signer, TransactionBuilder } from '@metaplex-foundation/umi';
import { Serializer } from '@metaplex-foundation/umi/serializers';
export type CreateMasterEditionV3InstructionAccounts = {
    /** Unallocated edition V2 account with address as pda of ['metadata', program id, mint, 'edition'] */
    edition?: PublicKey | Pda;
    /** Metadata mint */
    mint: PublicKey | Pda;
    /** Update authority */
    updateAuthority?: Signer;
    /** Mint authority on the metadata's mint - THIS WILL TRANSFER AUTHORITY AWAY FROM THIS KEY */
    mintAuthority: Signer;
    /** payer */
    payer?: Signer;
    /** Metadata account */
    metadata?: PublicKey | Pda;
    /** Token program */
    tokenProgram?: PublicKey | Pda;
    /** System program */
    systemProgram?: PublicKey | Pda;
    /** Rent info */
    rent?: PublicKey | Pda;
};
export type CreateMasterEditionV3InstructionData = {
    discriminator: number;
    maxSupply: Option<bigint>;
};
export type CreateMasterEditionV3InstructionDataArgs = {
    maxSupply: OptionOrNullable<number | bigint>;
};
export declare function getCreateMasterEditionV3InstructionDataSerializer(): Serializer<CreateMasterEditionV3InstructionDataArgs, CreateMasterEditionV3InstructionData>;
export type CreateMasterEditionV3InstructionArgs = CreateMasterEditionV3InstructionDataArgs;
export declare function createMasterEditionV3(context: Pick<Context, 'eddsa' | 'identity' | 'payer' | 'programs'>, input: CreateMasterEditionV3InstructionAccounts & CreateMasterEditionV3InstructionArgs): TransactionBuilder;
