import { ICompositeSelectionLayer, ICompositeSelection, Bounds } from "./common";
import { ClientSelectionLayer, ClientSelectionSet } from "./contracts/common";
import { SelectedFeature, SelectedLayer, SelectedFeatureSet } from "./contracts/query";
/**
 * A layer of a {@link CompositeSelection}
 *
 * @since 0.14
 */
export declare class CompositeSelectionLayer implements ICompositeSelectionLayer {
    private layer;
    private features;
    constructor(layer: SelectedLayer | ClientSelectionLayer);
    private isSelectedLayer;
    /**
     * Gets the combined bounds of all selected features
     *
     * @returns The combined bounds of all selected features in the projection of the current map view
     */
    getBounds(): Bounds | undefined;
    getLayerId(): string | undefined;
    getName(): string;
    getFeatureAt(featureIndex: number): SelectedFeature;
    getFeatureCount(): number;
    getLayerMetadata(): import("./contracts/query").LayerMetadata | undefined;
}
/**
 * A composition of a MapGuide selection set and a client-side vector feature selection
 *
 * @since 0.14
 */
export declare class CompositeSelection implements ICompositeSelection {
    private layers;
    constructor(mgSelection?: SelectedFeatureSet, clientSelection?: ClientSelectionSet);
    getBounds(): Bounds | undefined;
    getLayers(): CompositeSelectionLayer[];
    getLayerCount(): number;
    getLayerAt(layerIndex: number): CompositeSelectionLayer;
    getFeatureAt(layerIndex: number, featureIndex: number): SelectedFeature;
}
