///
import { BN, Program } from "@project-serum/anchor";
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
import { SolmashWhitelist } from "../idl";
export interface ISolmashWhitelistInstructions {
readonly program: Program;
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;
getAddTokenInstruction(auction: PublicKey, auctionToken: PublicKey, auctionVault: PublicKey, auctionVaultTokenAccount: PublicKey, owner: PublicKey, ownerAuctionTokenAccount: PublicKey): Promise;
getWithdrawFundsInstruction(auction: PublicKey, auctionBidTokenAccount: PublicKey, auctionToken: PublicKey, auctionVault: PublicKey, auctionVaultTokenAccount: PublicKey, bidToken: PublicKey, creator: PublicKey, creatorAuctionTokenAccount: PublicKey, creatorBidTokenAccount: PublicKey): Promise;
getWhitelistInstruction(auction: PublicKey, buyerPda: PublicKey, creator: PublicKey, whitelistUser: PublicKey): Promise;
getPreSaleBuyUsingSplInstruction(auction: PublicKey, auctionVault: PublicKey, auctionVaultBidTokenAccount: PublicKey, bidToken: PublicKey, buyer: PublicKey, buyerBidTokenAccount: PublicKey, buyerPda: PublicKey): Promise;
getPreSaleBuyUsingSolInstruction(auction: PublicKey, auctionVault: PublicKey, buyer: PublicKey, buyerPda: PublicKey): Promise;
getClaimTokensInstruction(auction: PublicKey, auctionToken: PublicKey, auctionVault: PublicKey, auctionVaultTokenAccount: PublicKey, buyer: PublicKey, buyerAuctionTokenAccount: PublicKey, buyerPda: PublicKey): Promise;
getChangeTimeInstruction(auction: PublicKey, creator: PublicKey, newStartTime: BN, newEndTime: BN): Promise;
}