///
import { Connection, PublicKey } from "@solana/web3.js";
import { PDA } from "../pda";
import { CachedContent, CachedValue } from "./fetcher";
import { MarketStateData, KycCertData, OfferDataInfo, TradeData, TradeDataInfo, ConfigData, NormalizedTradeData } from "../types";
import { BN } from "@project-serum/anchor";
export declare class EscrowFetcher {
private readonly fetcher;
pda: PDA;
connection: Connection;
constructor(connection: Connection, pda: PDA, cache?: Record>);
getConfigData(): Promise;
getMarketData(tokenMint: PublicKey): Promise;
getConfigAddress(): PublicKey;
getMarketAddress(tokenMint: PublicKey): PublicKey;
getTradeInfo(tradeId: BN, refresh?: boolean): Promise;
getTrades(startTradeId: number, endTradeId?: number, refresh?: boolean): Promise<(NormalizedTradeData | null)[]>;
getTradesByStatus(tradeStatus: object, side?: object): Promise;
getTradesByBuyerAddress(address: PublicKey): Promise;
getTradesBySellerAddress(address: PublicKey): Promise;
getTradesByFiatCurrency(fiatCurrency: string): Promise;
/**
*
* @param offerStatus Awaiting || Canceled || OutOfFund
* @param side Buy || Sell
* @returns
*/
getOffersByStatus(offerStatus: object, side?: object, sortByRate?: boolean): Promise;
getOffersByMakerAddress(address: PublicKey, sortByRate?: boolean): Promise;
getOffersByFiatCurrency(fiatCurrency: string): Promise;
getOffer(offerId: BN): Promise;
getAllTradesOfAnOffer(offerId: BN, offerSide: object): Promise;
getAllTrades(): Promise<(TradeData | null)[]>;
getKYCCertData(tokenMint: PublicKey, userPubkey: PublicKey): Promise;
isArbitrator(userPubkey: PublicKey, tokenMint: PublicKey): Promise;
refreshAll(): Promise;
}