/// <reference types="bn.js" />
import { BN, Program } from "@project-serum/anchor";
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
import { ISolmashWhitelistInstructions } from "./definitions";
import { SolmashWhitelist } from "./idl";
export declare class SolmashWhitelistInstructions implements ISolmashWhitelistInstructions {
    readonly program: Program<SolmashWhitelist>;
    constructor(program: Program<SolmashWhitelist>);
    getInitAuctionInstruction(auction: PublicKey, auctionVault: PublicKey, owner: PublicKey, initParams: {
        name: string;
        enabled: boolean;
        preSaleStartTime: BN;
        preSaleEndTime: BN;
        ticketsInPool: BN;
        tokenQuantityPerTicket: BN;
        ticketPriceInSol: BN;
        ticketPriceInSobb: BN;
        auctionToken: PublicKey;
        bidToken: PublicKey;
    }): Promise<TransactionInstruction>;
    getAddTokenInstruction(auction: PublicKey, auctionToken: PublicKey, auctionVault: PublicKey, auctionVaultTokenAccount: PublicKey, owner: PublicKey, ownerAuctionTokenAccount: PublicKey): Promise<TransactionInstruction>;
    getWithdrawFundsInstruction(auction: PublicKey, auctionBidTokenAccount: PublicKey, auctionToken: PublicKey, auctionVault: PublicKey, auctionVaultTokenAccount: PublicKey, bidToken: PublicKey, creator: PublicKey, creatorAuctionTokenAccount: PublicKey, creatorBidTokenAccount: PublicKey): Promise<TransactionInstruction>;
    getWhitelistInstruction(auction: PublicKey, buyerPda: PublicKey, creator: PublicKey, whitelistUser: PublicKey): Promise<TransactionInstruction>;
    getPreSaleBuyUsingSplInstruction(auction: PublicKey, auctionVault: PublicKey, auctionVaultBidTokenAccount: PublicKey, bidToken: PublicKey, buyer: PublicKey, buyerBidTokenAccount: PublicKey, buyerPda: PublicKey): Promise<TransactionInstruction>;
    getPreSaleBuyUsingSolInstruction(auction: PublicKey, auctionVault: PublicKey, buyer: PublicKey, buyerPda: PublicKey): Promise<TransactionInstruction>;
    getClaimTokensInstruction(auction: PublicKey, auctionToken: PublicKey, auctionVault: PublicKey, auctionVaultTokenAccount: PublicKey, buyer: PublicKey, buyerAuctionTokenAccount: PublicKey, buyerPda: PublicKey): Promise<TransactionInstruction>;
    getChangeTimeInstruction(auction: PublicKey, creator: PublicKey, newStartTime: BN, newEndTime: BN): Promise<TransactionInstruction>;
}
