import type { BN } from "@project-serum/anchor";
import type { Wallet } from "@saberhq/solana-contrib";
import type { AccountMeta, Connection, PublicKey, Transaction } from "@solana/web3.js";
import type { MetadataKind } from "./constants";
export declare const initMinterInstruction: (connection: Connection, wallet: Wallet, params: {
    identifierId: PublicKey;
    minterId: PublicKey;
    redeemedMintsId: PublicKey;
    projectId: PublicKey;
    mintId: PublicKey;
    authorizedCreators?: PublicKey[];
    metadataKind?: MetadataKind;
    maxMint?: number;
    minSetSize?: number;
    start?: BN;
    end?: BN;
}) => Promise<Transaction>;
export declare const updateMinterInstruction: (connection: Connection, wallet: Wallet, params: {
    minterId: PublicKey;
    projectId: PublicKey;
    authorizedCreators?: PublicKey[];
    metadataKind?: MetadataKind;
    maxMint?: number;
    minSetSize?: number;
    start?: BN;
    end?: BN;
}) => Promise<Transaction>;
export declare const closeMinterInstruction: (connection: Connection, wallet: Wallet, params: {
    minterId: PublicKey;
    redeemedMintsId: PublicKey;
    projectId: PublicKey;
    mintId: PublicKey;
}) => Promise<Transaction>;
export declare const mintInstruction: (connection: Connection, wallet: Wallet, params: {
    minterId: PublicKey;
    redeemedMintsId: PublicKey;
    userTokenAccountId: PublicKey;
    mintId: PublicKey;
    remainingAccounts: AccountMeta[];
}) => Promise<Transaction>;
export declare const setAsRedeemedInstruction: (connection: Connection, wallet: Wallet, params: {
    minterId: PublicKey;
    projectId: PublicKey;
    redeemedMintsId: PublicKey;
    mints: PublicKey[];
}) => Promise<Transaction>;
//# sourceMappingURL=instruction.d.ts.map