/// <reference types="node" />
import * as web3 from '@solana/web3.js';
import * as beetSolana from '@metaplex-foundation/beet-solana';
import * as beet from '@metaplex-foundation/beet';
export declare type AuctionHouseArgs = {
    auctionHouseFeeAccount: web3.PublicKey;
    auctionHouseTreasury: web3.PublicKey;
    treasuryWithdrawalDestination: web3.PublicKey;
    feeWithdrawalDestination: web3.PublicKey;
    treasuryMint: web3.PublicKey;
    authority: web3.PublicKey;
    creator: web3.PublicKey;
    bump: number;
    treasuryBump: number;
    feePayerBump: number;
    sellerFeeBasisPoints: number;
    requiresSignOff: boolean;
    canChangeSalePrice: boolean;
    escrowPaymentBump: number;
    hasAuctioneer: boolean;
    auctioneerAddress: web3.PublicKey;
    scopes: boolean[];
};
export declare const auctionHouseDiscriminator: number[];
export declare class AuctionHouse implements AuctionHouseArgs {
    readonly auctionHouseFeeAccount: web3.PublicKey;
    readonly auctionHouseTreasury: web3.PublicKey;
    readonly treasuryWithdrawalDestination: web3.PublicKey;
    readonly feeWithdrawalDestination: web3.PublicKey;
    readonly treasuryMint: web3.PublicKey;
    readonly authority: web3.PublicKey;
    readonly creator: web3.PublicKey;
    readonly bump: number;
    readonly treasuryBump: number;
    readonly feePayerBump: number;
    readonly sellerFeeBasisPoints: number;
    readonly requiresSignOff: boolean;
    readonly canChangeSalePrice: boolean;
    readonly escrowPaymentBump: number;
    readonly hasAuctioneer: boolean;
    readonly auctioneerAddress: web3.PublicKey;
    readonly scopes: boolean[];
    private constructor();
    static fromArgs(args: AuctionHouseArgs): AuctionHouse;
    static fromAccountInfo(accountInfo: web3.AccountInfo<Buffer>, offset?: number): [AuctionHouse, number];
    static fromAccountAddress(connection: web3.Connection, address: web3.PublicKey): Promise<AuctionHouse>;
    static gpaBuilder(programId?: web3.PublicKey): beetSolana.GpaBuilder<{
        auctionHouseFeeAccount: any;
        auctionHouseTreasury: any;
        treasuryWithdrawalDestination: any;
        feeWithdrawalDestination: any;
        treasuryMint: any;
        authority: any;
        creator: any;
        bump: any;
        treasuryBump: any;
        feePayerBump: any;
        sellerFeeBasisPoints: any;
        requiresSignOff: any;
        canChangeSalePrice: any;
        escrowPaymentBump: any;
        hasAuctioneer: any;
        auctioneerAddress: any;
        scopes: any;
        accountDiscriminator: any;
    }>;
    static deserialize(buf: Buffer, offset?: number): [AuctionHouse, number];
    serialize(): [Buffer, number];
    static get byteSize(): number;
    static getMinimumBalanceForRentExemption(connection: web3.Connection, commitment?: web3.Commitment): Promise<number>;
    static hasCorrectByteSize(buf: Buffer, offset?: number): boolean;
    pretty(): {
        auctionHouseFeeAccount: string;
        auctionHouseTreasury: string;
        treasuryWithdrawalDestination: string;
        feeWithdrawalDestination: string;
        treasuryMint: string;
        authority: string;
        creator: string;
        bump: number;
        treasuryBump: number;
        feePayerBump: number;
        sellerFeeBasisPoints: number;
        requiresSignOff: boolean;
        canChangeSalePrice: boolean;
        escrowPaymentBump: number;
        hasAuctioneer: boolean;
        auctioneerAddress: string;
        scopes: boolean[];
    };
}
export declare const auctionHouseBeet: beet.BeetStruct<AuctionHouse, AuctionHouseArgs & {
    accountDiscriminator: number[];
}>;
