import { Connection, PublicKey, Transaction, VersionedTransaction } from "@solana/web3.js";
import { ISolmashWhitelistInstructions } from "./definitions";
import { AuctionInfo } from "./definitions/auctionInfo";
import { BuyerInfo } from "./definitions/buyerInfo";
import { SolmashWhitelistPayload } from "./payload";
export declare class SolmashWhitelistService {
    readonly instructions: ISolmashWhitelistInstructions;
    readonly _connection: Connection;
    private readonly _signTransaction;
    private readonly _programId;
    static deriveAuctionAddress(auctionName: string, programId: PublicKey): PublicKey;
    static deriveAuctionVaultAddress(auctionAddress: PublicKey, programId: PublicKey): PublicKey;
    static deriveBuyerPdaAddress(auctionAddress: PublicKey, buyer: PublicKey, programId: PublicKey): PublicKey;
    constructor(instructions: ISolmashWhitelistInstructions, _connection: Connection, _signTransaction: <T extends Transaction | VersionedTransaction>(transaction: T) => Promise<T>);
    private _createPayload;
    initAuction(params: {
        ownerAddress: string;
        auctionTokenAddress: string;
        bidTokenAddress: string;
        enabled: boolean;
        name: string;
        preSaleEndTime: number;
        preSaleStartTime: number;
        ticketPriceInSobb: string;
        ticketPriceInSol: string;
        ticketsInPool: string;
        tokenQuantityPerTicket: string;
    }): Promise<SolmashWhitelistPayload>;
    addToken(params: {
        auctionAddress: string;
        auctionTokenAddress: string;
        ownerAddress: string;
    }): Promise<SolmashWhitelistPayload>;
    withdrawFunds(params: {
        auctionAddress: string;
        auctionTokenAddress: string;
        bidTokenAddress: string;
        creatorAddress: string;
    }): Promise<SolmashWhitelistPayload>;
    whitelist(params: {
        auctionAddress: string;
        creatorAddress: string;
        whitelistUserAddressList: string[];
    }): Promise<SolmashWhitelistPayload>;
    preSaleBuyUsingSpl(params: {
        auctionAddress: string;
        bidTokenAddress: string;
        buyerAddress: string;
    }): Promise<SolmashWhitelistPayload>;
    preSaleBuyUsingSol(params: {
        auctionAddress: string;
        buyerAddress: string;
    }): Promise<SolmashWhitelistPayload>;
    claimTokens(params: {
        auctionAddress: string;
        auctionTokenAddress: 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>;
}
