import { Connection, PublicKey, Transaction, VersionedTransaction } from "@solana/web3.js";
import { AuctionInfo } from "./definitions/auctionInfo";
import { BuyerInfo } from "./definitions/buyerInfo";
import { SolmashWhitelistInstructions } from "./instructions";
import { SolmashWhitelistPayload } from "./payload";
export declare class SolmashWhitelistService {
    readonly instructions: SolmashWhitelistInstructions;
    readonly _connection: Connection;
    private readonly _signTransaction;
    private readonly _programId;
    static deriveAuctionAddress(auctionName: string, programId: string | PublicKey): PublicKey;
    static deriveAuctionVaultAddress(auction: string | PublicKey, programId: string | PublicKey): PublicKey;
    static deriveBuyerPdaAddress(auction: string | PublicKey, buyer: string | PublicKey, programId: string | PublicKey): PublicKey;
    constructor(instructions: SolmashWhitelistInstructions, _connection: Connection, _signTransaction: <T extends Transaction | VersionedTransaction>(transaction: T) => Promise<T>);
    private _createPayload;
    initAuction(params: {
        creatorAddress: string | PublicKey;
        auctionTokenAddress: string | PublicKey;
        bidTokenAddress: string | PublicKey;
        claimTime: number;
        enabled: boolean;
        name: string;
        preSaleEndTime: number;
        preSaleStartTime: number;
        ticketPriceInBid: string;
        ticketPriceInSol: string;
        ticketsInPool: string;
        tokenQuantityPerTicket: string;
    }): Promise<SolmashWhitelistPayload>;
    addToken(params: {
        auctionAddress: string | PublicKey;
        creatorAddress: string | PublicKey;
    }): Promise<SolmashWhitelistPayload>;
    withdrawFunds(params: {
        auctionAddress: string | PublicKey;
        creatorAddress: string | PublicKey;
        withdrawSol: boolean;
    }): Promise<SolmashWhitelistPayload>;
    whitelist(params: {
        auctionAddress: string;
        creatorAddress: string;
        whitelistUserAddressList: string[];
    }): Promise<SolmashWhitelistPayload>;
    preSaleBuyUsingSol(params: {
        auctionAddress: string;
        buyerAddress: string;
    }): Promise<SolmashWhitelistPayload>;
    claimTokens(params: {
        auctionAddress: string;
        buyerAddress: string;
    }): Promise<SolmashWhitelistPayload>;
    changeTime(params: {
        auctionAddress: string;
        creatorAddress: string;
        newStartTime: number;
        newEndTime: number;
    }): Promise<SolmashWhitelistPayload>;
    getAuctionInfo(auctionAddress: string): Promise<AuctionInfo>;
    getBuyerInfo(auctionAddress: string, buyerAddress: string): Promise<BuyerInfo>;
    isBuyerWhitelisted(auctionAddress: string, buyerAddress: string): Promise<boolean>;
    buyerParticipated(auctionAddress: string, buyerAddress: string): Promise<boolean>;
    buyerClaimed(auctionAddress: string, buyerAddress: string): Promise<boolean>;
}
