/// import { Account, Borsh, AnyPublicKey, StringPublicKey } from '@metaplex-foundation/mpl-core'; import { AccountInfo, Connection, PublicKey } from '@solana/web3.js'; import BN from 'bn.js'; import { Buffer } from 'buffer'; import { BidderMetadata } from './BidderMetadata'; import { BidderPot } from './BidderPot'; export declare enum AuctionState { Created = 0, Started = 1, Ended = 2 } export declare enum BidStateType { EnglishAuction = 0, OpenEdition = 1 } export declare enum PriceFloorType { None = 0, Minimum = 1, BlindedPrice = 2 } declare type BidArgs = { key: StringPublicKey; amount: BN; }; export declare class Bid extends Borsh.Data { static readonly SCHEMA: Map; key?: StringPublicKey; amount?: BN; } declare type BidStateArgs = { type: BidStateType; bids: Bid[]; max: BN; }; export declare class BidState extends Borsh.Data { static readonly SCHEMA: Map; type: BidStateType; bids: Bid[]; max: BN; getWinnerAt(winnerIndex: number): StringPublicKey | undefined; getAmountAt(winnerIndex: number): BN | undefined; getWinnerIndex(bidder: StringPublicKey): number | null; } declare type PriceFloorArgs = { type: PriceFloorType; hash?: Uint8Array; minPrice?: BN; }; export declare class PriceFloor extends Borsh.Data { static readonly SCHEMA: Map; type: PriceFloorType; hash: Uint8Array; minPrice?: BN; constructor(args: PriceFloorArgs); } declare type Args = { authority: StringPublicKey; tokenMint: StringPublicKey; lastBid: BN | null; endedAt: BN | null; endAuctionAt: BN | null; auctionGap: BN | null; priceFloor: PriceFloor; state: AuctionState; bidState: BidState; totalUncancelledBids: BN; }; export declare class AuctionData extends Borsh.Data { static readonly SCHEMA: Map; authority: StringPublicKey; tokenMint: StringPublicKey; lastBid?: BN; endedAt?: BN; endAuctionAt?: BN; auctionGap?: BN; priceFloor: PriceFloor; state: AuctionState; bidState: BidState; bidRedemptionKey?: StringPublicKey; } export declare class Auction extends Account { static readonly EXTENDED_DATA_SIZE: number; constructor(pubkey: AnyPublicKey, info: AccountInfo); static getPDA(vault: AnyPublicKey): Promise; static findMany(connection: Connection, filters?: { authority?: AnyPublicKey; }): Promise<(Account | undefined)[]>; getBidderPots(connection: Connection): Promise[]>; getBidderMetadata(connection: Connection): Promise[]>; } export {};