import type Geometry from "@arcgis/core/geometry/Geometry";
import type Query from "@arcgis/core/rest/support/Query";
import type { Feature } from "../../data/Feature.js";
import type { FeatureSource } from "../../data/FeatureSource.js";
import type { BuildingComponentSublayerExtension } from "../../mapping/BuildingComponentSublayerExtension.js";
import type { CountResult } from "../CountResult.js";
import type { ClientSideQueryableSublayerExtension } from "../query/ClientSideQueryProvider.js";
import { ClientSideIdentifyProvider } from "./ClientSideIdentifyProvider.js";
import type { IdentifyOptions } from "./IdentifyOptions.js";
/**
 * A query identify provider for BuildingComponentSublayers that works with the
 * graphics rendered on the map.
 */
export declare class BuildingComponentSublayerClientSideIdentifyProvider extends ClientSideIdentifyProvider {
    /**
     * @inheritDoc
     */
    isSupported(source: FeatureSource, geometry: Geometry, options?: IdentifyOptions): boolean;
    protected _identify(source: BuildingComponentSublayerExtension, geometry: Geometry, options: IdentifyOptions, geometryType?: string): AsyncIterable<Feature>;
    protected _count(source: BuildingComponentSublayerExtension, geometry: Geometry, options: IdentifyOptions, geometryType?: string): Promise<CountResult>;
    protected _createQuery(source: ClientSideQueryableSublayerExtension, geometry: Geometry, options: IdentifyOptions): Query;
    private _canIdentify;
}
