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 { QueryOptions } from "./QueryOptions.js";
import { QueryProviderBase } from "./QueryProviderBase.js";
/**
 * A query provider for feature layers.
 */
export declare class SubtypeSublayerQueryProvider extends QueryProviderBase {
    /**
     * @inheritDoc
     */
    isSupported(source: FeatureSource): boolean;
    /**
     * @inheritDoc
     */
    protected _query(source: SubtypeSublayerExtension, where: string, options: QueryOptions): AsyncIterable<Feature>;
    protected _queryMany(sources: SubtypeSublayerExtension[], where: string, options?: QueryOptions): AsyncIterable<Feature>;
    /**
     * @inheritDoc
     */
    protected _count(source: FeatureSource, where: string, options: QueryOptions): Promise<CountResult>;
    private _createQuery;
    private _createBasicQuery;
}
