import type { Feature } from "../../data/Feature.js";
import type { FeatureSource } from "../../data/FeatureSource.js";
import type { SubtypeSublayerExtension } from "../../mapping/SubtypeSublayerExtension.js";
import type { CountResult } from "../CountResult.js";
import type { QuerySearchProvider } from "./QuerySearchProvider.js";
import { SearchOptions } from "./SearchOptions.js";
import { SearchProviderBase } from "./SearchProviderBase.js";
import type { SearchSuggestion } from "./SearchSuggestion.js";
/**
 * A search provider for subtype sublayers.
 */
export declare class SubtypeSublayerQuerySearchProvider extends SearchProviderBase {
    private readonly _queryProvider;
    constructor(querySearchProvider: QuerySearchProvider);
    /**
     * @inheritDoc
     */
    isSupported(source: FeatureSource): boolean;
    /**
     * @inheritDoc
     */
    protected _search(sources: SubtypeSublayerExtension[], searchText: string, options: SearchOptions): AsyncIterable<Feature>;
    protected _count(source: FeatureSource | FeatureSource[], searchText: string, options: SearchOptions): Promise<CountResult[]>;
    protected _suggest(source: FeatureSource | FeatureSource[], searchText: string, options: SearchOptions): Promise<SearchSuggestion[]>;
}
