import type { LayerPreset } from "@vertigis/arcgis-extensions/layer-preset/LayerPreset";
import type { Command } from "../Command.js";
import { CommandRegistry } from "../CommandRegistry.js";
import type { Event } from "../Event.js";
import { EventRegistry } from "../EventRegistry.js";
import type { MapsLike } from "../common.js";
/**
 * Arguments for the 'layer-presets.apply' command.
 */
export interface LayerPresetsArgs {
    /**
     * The associated map to apply the preset to.
     */
    maps?: MapsLike;
    /**
     * The LayerPreset to apply to the map.
     */
    preset: LayerPreset;
}
/**
 * Arguments for the 'layer-presets.applied' event.
 */
export interface LayerPresetsEventsArgs {
    /**
     * The applied layer preset.
     */
    preset: LayerPreset;
}
export declare class LayerPresetsCommands extends CommandRegistry {
    protected readonly _prefix = "layer-presets";
    /**
     * Applies a layer-preset to a map. Applying a layer-preset means that the
     * layer visibilities, opacity, and the map's basemap are changed to match
     * the layer-preset definition. It's a quick way for a user to toggle the
     * state of the map to a pre-configured state. Mobile only.
     *
     * @mobileOnly
     */
    get apply(): Command<LayerPresetsArgs>;
}
export declare class LayerPresetsEvents extends EventRegistry {
    protected readonly _prefix = "layer-presets";
    /**
     * Raised when a layer preset is applied. Mobile only.
     *
     * @mobileOnly
     */
    get applied(): Event<LayerPresetsEventsArgs>;
}
