import { Order, IndexedOrder } from "./encoding";
import { BatchExchange, BatchExchangeViewer } from "./contracts";
import type BN from "bn.js";
/**
 * Returns an iterator yielding an item for each page of order in the orderbook that is currently being collected.
 * @param contract - to query from
 * @param pageSize - the number of items to fetch per page
 * @param blockNumber - the block number to execute the query at, defaults to "latest" if omitted
 */
export declare function getOpenOrdersPaginated(contract: BatchExchangeViewer, pageSize: number, blockNumber?: number): AsyncGenerator<IndexedOrder<BN>[]>;
/**
 * Returns open orders in the orderbook.
 * @param contract - to query from
 * @param pageSize - the number of items to fetch per page
 * @param blockNumber - the block number to execute the query at, defaults to "latest" if omitted
 */
export declare function getOpenOrders(contract: BatchExchangeViewer, pageSize: number, blockNumber?: number): Promise<IndexedOrder<BN>[]>;
/**
 * Returns all orders in the orderbook.
 * @param contract - to query from
 * @param pageSize - the number of items to fetch per page
 * @param blockNumber - the block number to execute the query at, defaults to "latest" if omitted
 */
export declare function getOrdersPaginated(contract: BatchExchange, pageSize: number, blockNumber?: number): Promise<Order<BN>[]>;
