import type { IArcGISContext } from "../types/IArcGISContext";
import { ICatalogSearchResponse } from "./types/ICatalogSearchResponse";
import { IHubCatalog, IQuery } from "./types/IHubCatalog";
import { IPagingOptions, ISortOptions } from "./types/IHubSearchOptions";
/**
 * Given an array of catalog json objects, execute a search on all the collections
 * in all the catalogs. If a scope exists without any associated collections in the catalog,
 * the scope will be searched as well.
 * If passed an IQuery, only collections using the same targetEntity will be searched
 * If passed a string, a query will be executed on all collections in all catalogs
 * @param catalogs
 * @param query - string or IQuery
 * @param options - IPagingOptions & ISortOptions - only num is used
 * @param context
 * @returns
 */
export declare function searchCatalogs(catalogs: IHubCatalog[], query: string | IQuery, options: IPagingOptions & ISortOptions, context: IArcGISContext): Promise<ICatalogSearchResponse[]>;
