import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
import type { Feature } from "../../data/Feature.js";
import type { FeatureSource } from "../../data/FeatureSource.js";
import type { SceneLayerExtension } from "../../mapping/SceneLayerExtension.js";
import type { CountResult } from "../CountResult.js";
import { SceneLayerQueryProvider } from "../query/SceneLayerQueryProvider.js";
import type { IdentifyOptions } from "./IdentifyOptions.js";
import { IdentifyProviderBase } from "./IdentifyProviderBase.js";
/**
 * An identify provider that queries the server for data about scene layers.
 */
export declare class SceneLayerQueryIdentifyProvider extends IdentifyProviderBase {
    /**
     * The query provider to use.
     */
    queryProvider: SceneLayerQueryProvider;
    /**
     * @inheritDoc
     */
    isSupported(source: FeatureSource, geometry: GeometryUnion, options?: IdentifyOptions): boolean;
    /**
     * @inheritDoc
     */
    protected _identify(source: SceneLayerExtension, geometry: GeometryUnion, options: IdentifyOptions): AsyncIterable<Feature>;
    /**
     * @inheritDoc
     */
    protected _count(source: SceneLayerExtension, geometry: GeometryUnion, options: IdentifyOptions): Promise<CountResult>;
    /**
     * If the featureSource supports query.
     *
     * @param featureSource The featureSource to be identified.
     */
    protected _supportsQuery(featureSource: SceneLayerExtension): boolean;
}
