import { web3 } from '@coral-xyz/anchor';
import { BanxMarketState, BanxMarketStruct, OraclePriceFeedType } from './BanxMarket.types';
export declare function fetchBanxMarket(connection: web3.Connection, publicKey: web3.PublicKey): Promise<{
    marketAuthority: web3.PublicKey;
    collateralTokenMint: web3.PublicKey;
    lendingTokenMint: web3.PublicKey;
    oraclePriceFeed: number[];
    upfrontFeeBp: number;
    interestFeeBp: number;
    oracleDuration: import("bn.js");
    marketState: number;
    collateralDigits: number;
    oracleFeedType: number;
    lendingTokenDigits: number;
    marginOfSafety: number;
    lookupTable: web3.PublicKey;
    placeholder1: web3.PublicKey;
    placeholder2: web3.PublicKey;
    padding: number[];
    publicKey: web3.PublicKey;
} | null>;
export declare function fetchMultipleBanxMarkets(connection: web3.Connection, publicKeys: web3.PublicKey[]): Promise<BanxMarketStruct[]>;
export type FetchMarketsFilters = {
    collateralTokenMint?: web3.PublicKey;
    lendingTokenMint?: web3.PublicKey;
    marketState?: BanxMarketState;
    oracleFeedType?: OraclePriceFeedType;
};
export declare function fetchAllBanxMarkets(connection: web3.Connection, filters?: FetchMarketsFilters): Promise<({
    publicKey: web3.PublicKey;
} & {
    marketAuthority: web3.PublicKey;
    collateralTokenMint: web3.PublicKey;
    lendingTokenMint: web3.PublicKey;
    oraclePriceFeed: number[];
    upfrontFeeBp: number;
    interestFeeBp: number;
    oracleDuration: import("bn.js");
    marketState: number;
    collateralDigits: number;
    oracleFeedType: number;
    lendingTokenDigits: number;
    marginOfSafety: number;
    lookupTable: web3.PublicKey;
    placeholder1: web3.PublicKey;
    placeholder2: web3.PublicKey;
    padding: number[];
})[]>;
