import { BanxMarketState, BanxMarketStruct, BanxMarketStructSerialized, OraclePriceFeedType } from './BanxMarket.types';
import { web3 } from '@coral-xyz/anchor';
import { FetchMarketsFilters } from './BanxMarket.fetchers';
import { GetUpdateMarketIxnsParams } from '../../../core/instructions/BanxMarket/getInitOrUpdateMarketIxns';
export declare class BanxMarket {
    readonly struct: Readonly<BanxMarketStruct>;
    constructor(banxMarket: BanxMarketStruct);
    static fromSerialized(banxMarketSerialized: BanxMarketStructSerialized): BanxMarket;
    serialize(): BanxMarketStructSerialized;
    static fetch(connection: web3.Connection, publicKey: web3.PublicKey): Promise<BanxMarket | null>;
    static fetchMultiple(connection: web3.Connection, publicKeys: web3.PublicKey[]): Promise<BanxMarket[]>;
    static fetchAll(connection: web3.Connection, filters?: FetchMarketsFilters): Promise<BanxMarket[]>;
    getState(): BanxMarketState;
    getOraclePriceFeedType(): OraclePriceFeedType;
    getUpdateIxns(params: GetUpdateMarketIxnsParams['args'] & {
        walletPublicKey: web3.PublicKey;
    }, connection: web3.Connection): Promise<{
        mutatedAccounts: {
            banxMarket: web3.PublicKey;
        };
        instructions: web3.TransactionInstruction[];
        signers: web3.Signer[];
    }>;
}
