///
import { Program, Wallet } from '@coral-xyz/anchor';
import { Connection, PublicKey, Transaction } from '@solana/web3.js';
import { MysteryBoxSolana } from "./types/mystery_box_solana.js";
export declare class MysteryBoxLib {
program: Program;
connection: Connection;
constructor(programId: PublicKey, connection: Connection, wallet: Wallet);
signTransaction(tx: Transaction, secretKey: string): Transaction;
addSignatureInTransaction(tx: Transaction, signerAddress: PublicKey, signature: Buffer): Transaction;
addFeePayerAndRecentBlockHashInTransaction(tx: Transaction, feePayer: PublicKey): Promise;
isPdaAddressInitialize(pdaAddress: PublicKey): Promise;
getMysteryBoxConfigPdaAndBump(): Promise<[PublicKey, number]>;
getCollectionConfigPdaAndBump(collectionConfigName: string): Promise<[PublicKey, number]>;
getCollectionMintPdaAndBump(collectionConfigName: string, collectionConfigPda: PublicKey): Promise<[PublicKey, number]>;
getUserConfigPdaAndBump(collectionConfigName: string, collectionConfigPda: PublicKey, user: PublicKey): Promise<[PublicKey, number]>;
getItemMintPdaAndBump(collectionConfigName: string, collectionConfigPda: PublicKey, tokenId: string): Promise<[PublicKey, number]>;
getMetadataAccountPda(mintAccountPda: PublicKey, mplProgramId?: PublicKey): Promise<[PublicKey, number]>;
getMasterEditionAccountPda(mintAccountPda: PublicKey, mplProgramId?: PublicKey): Promise<[PublicKey, number]>;
createInitializeMysteryBocConfigTransaction(payer: PublicKey, mainSigningAuthority: PublicKey, systemProgram?: PublicKey, rent?: PublicKey): Promise;
createInitializeCollectionConfigTransaction(payer: PublicKey, mainSigningAuthority: PublicKey, signingAuthority: PublicKey, collectionConfigName: string, assetName: string, assetSymbol: string, assetMetadataBaseUrl: string, assetMetadataBaseUrlSuffix: string, tokenPrice: number, price: number, totalTokenCount: number, maxTokenCount: number, collectionName: string, collectionSymbol: string, collectionUrl: string, paymentTokenMintAccount: PublicKey, paymentReceiver: PublicKey, paymentTokenProgram: PublicKey, collectionTokenProgram: PublicKey, associatedTokenProgram?: PublicKey, mplProgramId?: PublicKey, systemProgram?: PublicKey, rent?: PublicKey): Promise;
createAirdropTransaction(payer: PublicKey, signingAuthority: PublicKey, collectionConfigName: string, user: PublicKey, collectionTokenProgram: PublicKey, associatedTokenProgram?: PublicKey, mplProgramId?: PublicKey, systemProgram?: PublicKey, rent?: PublicKey): Promise;
createMintTransaction(payer: PublicKey, user: PublicKey, collectionConfigName: string, collectionTokenProgram: PublicKey, associatedTokenProgram?: PublicKey, mplProgramId?: PublicKey, systemProgram?: PublicKey, rent?: PublicKey): Promise;
createMintWithTokenTransaction(payer: PublicKey, user: PublicKey, collectionConfigName: string, collectionTokenProgram: PublicKey, paymentTokenProgram: PublicKey, associatedTokenProgram?: PublicKey, mplProgramId?: PublicKey, systemProgram?: PublicKey, rent?: PublicKey): Promise;
createUpdateCollectionConfigTransaction(payer: PublicKey, signingAuthority: PublicKey, collectionConfigName: string, tokenPrice: number, price: number, maxTokenCount: number, paymentReceiver: PublicKey, paymentTokenMintAccount: PublicKey, isEnable: boolean, isAirdropEnable: boolean, isMintEnable: boolean, isMintWithTokenEnable: boolean, paymentTokenProgram: PublicKey, associatedTokenProgram?: PublicKey, systemProgram?: PublicKey, rent?: PublicKey): Promise;
}
//# sourceMappingURL=mystery-box-lib.d.ts.map