import { BN } from '@project-serum/anchor';
import type { Wallet } from '@saberhq/solana-contrib';
import type { AccountMeta, Connection, PublicKey, Transaction } from '@solana/web3.js';
import { Keypair } from '@solana/web3.js';
/**
 * Add init blaze identifier instructions to a transaction
 * @param transaction
 * @param connection
 * @param wallet
 * @returns Transaction, public key for the created blaze identifier
 */
export declare const withInitBlazeIdentifier: (transaction: Transaction, connection: Connection, wallet: Wallet) => Promise<[Transaction, PublicKey]>;
export declare const withInitBlaze: (transaction: Transaction, connection: Connection, wallet: Wallet, params: {
    prizeMint: PublicKey;
    tokenMint?: PublicKey;
    tokenAccount?: PublicKey;
    treasury?: PublicKey;
    burnRate?: number;
    entrantFee: BN;
    maxEntrants: number;
    start: BN;
    end: BN;
    maxEntrantsPerWalletRate?: number;
    projectId: PublicKey;
    projectWallet: PublicKey;
    category?: string;
}) => Promise<[Transaction, PublicKey, Keypair]>;
export declare const withUpdateBlaze: (transaction: Transaction, connection: Connection, wallet: Wallet, params: {
    blazeId: PublicKey;
    projectId: PublicKey;
    tokenMint?: PublicKey;
    tokenAccount?: PublicKey;
    treasury?: PublicKey;
    burnRate?: number;
    entrantFee: BN;
    start: BN;
    end: BN;
    maxEntrantsPerWalletRate?: number;
    category?: string;
}) => Promise<Transaction>;
export declare const withCloseBlaze: (transaction: Transaction, connection: Connection, wallet: Wallet, params: {
    blazeId: PublicKey;
    projectId: PublicKey;
    prizeMint: PublicKey;
    entrants: PublicKey;
}) => Promise<Transaction>;
export declare const withRedeemEntrants: (transaction: Transaction, connection: Connection, wallet: Wallet, params: {
    quantity: number;
    blazeId: PublicKey;
    entrants: PublicKey;
    remainingAccountsForRedeem: AccountMeta[];
}) => Promise<Transaction>;
export declare const withResolveBlaze: (transaction: Transaction, connection: Connection, wallet: Wallet, params: {
    blazeId: PublicKey;
    entrants: PublicKey;
}) => Promise<Transaction>;
export declare const withClaimPrize: (transaction: Transaction, connection: Connection, wallet: Wallet, params: {
    blazeId: PublicKey;
    prizeMint: PublicKey;
}) => Promise<Transaction>;
//# sourceMappingURL=transaction.d.ts.map