import { EventResults, QueryResults } from "../types"; /** * An Iterator class that accepts a `queryFunction` and iterates through it * asynchronously and yields an object of type `T`. * This is to be used for queries like {@link https://www.100ms.live/docs/server-side/v2/api-reference/Rooms/list-rooms List Rooms} * that return only a certain number(limit) of objects in one request, and subsequent requests have * to be made to completely iterate through it. * @internal * @example * ## Using the Iterable * ```ts * const randomObjects = createRandomObjectIterable(); * for await (const randomObj of randomObjects){ * console.log(randomObj); * if(randomObjects.isNextCached){ * console.log("next randomObj is ready to be consumed") * } * } * ``` */ export declare class QueryObjectIterator { private results?; private queryParams; private readonly queryFunction; isNextCached: boolean; constructor(queryFunction: (queryParams: Record) => Promise | EventResults>, queryParams?: Record); /** * The implementation of `Symbol.asyncIterator` that iteratively runs the * `queryFunction` and yields an object of type `T`. */ [Symbol.asyncIterator](): AsyncIterator; }