import { Api } from "./api";
import { QueryParam, FilterParam } from "./types";
export declare class SearchResult<T = any> implements Iterable<T> {
    private api;
    private query;
    private filters;
    private results;
    private resultIndex;
    private cursor;
    private perPage;
    private defaultLimit?;
    constructor(api: Api, query?: string | QueryParam, filters?: FilterParam | FilterParam[] | null, defaultLimit?: number);
    private formatQuery;
    private formatFilters;
    private buildParams;
    private runQuery;
    [Symbol.iterator](): Iterator<T>;
    [Symbol.asyncIterator](): AsyncIterableIterator<T>;
    all(): Promise<T[]>;
    first(): Promise<T | undefined>;
    size(): Promise<number>;
    take(n: number): Promise<T[]>;
}
//# sourceMappingURL=search-result.d.ts.map