import type FeatureLayer from "@arcgis/core/layers/FeatureLayer";
import type PortalItem from "@arcgis/core/portal/PortalItem";
import type { QuerySourceCapabilities } from "../data/QuerySourceCapabilities.js";
import type { PropertyDefs } from "../support/Serializable.js";
import type { FeatureLayerBaseProperties, FeatureLayerExtensionBaseProperties } from "./FeatureLayerExtensionBase.js";
import { FeatureLayerExtensionBase } from "./FeatureLayerExtensionBase.js";
/**
 * Ref type for feature collection layer extension.
 */
export declare const FEATURE_COLLECTION_LAYER_TYPE = "feature-collection-layer";
/**
 * Extends the capabilities of an Esri `FeatureLayer` object that is backed by a
 * feature collection.
 */
export declare class FeatureCollectionLayerExtension extends FeatureLayerExtensionBase {
    constructor(properties?: FeatureLayerExtensionBaseProperties);
    protected _getSerializableProperties(): PropertyDefs<FeatureLayerExtensionBaseProperties>;
    protected _isSupportedLayer(layer: FeatureLayer): boolean;
    protected _getSerializableLayerType(): string;
    protected _onInitialize(): Promise<void>;
    protected _applyLayerProperties(properties: FeatureLayerBaseProperties, layer: FeatureLayer): Promise<void>;
    protected _applyPortalItemProperties(portalItem: PortalItem): Promise<void>;
    protected _capabilities(): QuerySourceCapabilities;
}
