import type { MapExtension } from "@vertigis/arcgis-extensions/mapping/MapExtension.js";
import type { Command } from "../Command.js";
import { CommandRegistry } from "../CommandRegistry.js";
import type { Operation } from "../Operation.js";
import { OperationRegistry } from "../OperationRegistry.js";
import type { Features, HasMaps, HasMapsAndFeatures, Maps } from "../common.js";
export declare class HighlightsCommands extends CommandRegistry {
    protected readonly _prefix = "highlights";
    /**
     * Applies highlighting to one or more features.
     */
    get add(): Command<Features>;
    /**
     * Removes highlighting from one or many features.
     */
    get remove(): Command<Features>;
    /**
     * Removes highlighting from all features on the given map(s). If no map is
     * provided, features from all maps will be cleared.
     */
    get clear(): Command<Maps | void>;
    /**
     * Adds a temporary focused-state highlight to one or more features.
     */
    get pulse(): Command<Features>;
    /**
     * Adds focused-state highlighting to one or more features.
     */
    get addFocus(): Command<Features>;
    /**
     * Removes focused-state highlighting from one or more features.
     */
    get removeFocus(): Command<Features>;
    /**
     * Removes focused-state highlighting from all features.
     */
    get clearFocus(): Command<Maps | void>;
    /**
     * Hides all highlight overlays (can be undone with highlights.show). Mobile
     * only.
     *
     * @mobileOnly
     */
    get hide(): Command<HasMaps>;
    /**
     * Hides the focus highlight (can be undone with highlights.show-focus).
     * Mobile only.
     *
     * @mobileOnly
     */
    get hideFocus(): Command<HasMaps>;
    /**
     * Refreshes highlighting for one or many features. Mobile only.
     *
     * @mobileOnly
     */
    get refresh(): Command<HasMapsAndFeatures>;
    /**
     * Shows all highlight overlays (makes not hidden). Mobile only.
     *
     * @mobileOnly
     */
    get show(): Command<HasMaps>;
    /**
     * Shows the highlight focus (makes focus not hidden). Mobile only.
     *
     * @mobileOnly
     */
    get showFocus(): Command<HasMaps>;
}
export declare class HighlightsOperations extends OperationRegistry {
    protected readonly _prefix = "highlights";
    /**
     * Returns all highlighted features for a given map. Web only.
     *
     * @webOnly
     */
    get get(): Operation<MapExtension, Features>;
    /**
     * Returns all focused features for a given map. Web only.
     *
     * @webOnly
     */
    get getFocused(): Operation<MapExtension, Features>;
}
