///
import type MapView from "@arcgis/core/views/MapView.js";
import type FeatureLayer from "@arcgis/core/layers/FeatureLayer.js";
import type { AppLayout, IBasemapConfig, IMapChange, IMapInfo, theme, VisibilityIconType } from "../../utils/interfaces.js";
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { UIPosition } from "@arcgis/core/views/ui/types.js";
import type { T9nMeta } from "@arcgis/lumina/controllers";
export abstract class MapCard extends LitElement {
/**
* Contains the translations for this component.
* All UI strings should be defined here.
*
* @internal
*/
protected _translations: {
mapName: string;
more: string;
filters: string;
zoom: string;
refresh: string;
editMultiple: string;
featureEditLimitNotice: string;
clearSelection: string;
share: string;
copy: string;
paste: string;
} & T9nMeta<{
mapName: string;
more: string;
filters: string;
zoom: string;
refresh: string;
editMultiple: string;
featureEditLimitNotice: string;
clearSelection: string;
share: string;
copy: string;
paste: string;
}>;
/** AppLayout: the current app layout */
accessor appLayout: AppLayout | undefined;
/** Array of objects containing proxy information for premium platform services. */
accessor appProxies: any;
/** IBasemapConfig: List of any basemaps to filter out from the basemap widget */
accessor basemapConfig: IBasemapConfig | undefined;
/**
* string: when provided this layer ID will be used when the app loads
*
* @default ''
*/
accessor defaultLayerId: string;
/**
* string: Item ID of the web map that should be selected by default when the app loads
*
* @default ''
*/
accessor defaultWebmapId: string;
/**
* boolean: when true the basemap widget will be available
*
* @default false
*/
accessor enableBasemap: boolean;
/**
* boolean: when true the floor filter widget will be available
*
* @default false
*/
accessor enableFloorFilter: boolean;
/**
* boolean: when true the fullscreen widget will be available
*
* @default false
*/
accessor enableFullscreen: boolean;
/**
* boolean: when true the home widget will be available
*
* @default false
*/
accessor enableHome: boolean;
/**
* boolean: when true the layer list widget will be available
*
* @default true
*/
accessor enableLayerList: boolean;
/**
* boolean: when true the legend widget will be available
*
* @default false
*/
accessor enableLegend: boolean;
/**
* boolean: when true the map layer picker tool will be available
*
* @default false
*/
accessor enableMapLayerPicker: boolean;
/**
* boolean: when true the map picker tool will be available
*
* @default false
*/
accessor enableMapPicker: boolean;
/**
* boolean: when true the search widget will be available
*
* @default false
*/
accessor enableSearch: boolean;
/**
* boolean: when true the selectionTool tool will be available
*
* @default false
*/
accessor enableSelectionTool: boolean;
/**
* boolean: when true the share widget will be available
*
* @default false
*/
accessor enableShare: boolean;
/**
* boolean: when true map tools will be displayed within a single expand/collapse widget
* when false widgets will be loaded individually into expand widgets
*
* @default false
*/
accessor enableSingleExpand: boolean;
/**
* string: Selection mode for the feature selection
*
* @default 'multiple'
*/
accessor featureSelectionMode: string;
/**
* boolean: When true the map display will be hidden
*
* @default false
*/
accessor hide: boolean;
/**
* boolean: When true map will shown is full screen
*
* @default false
*/
accessor isMapLayout: boolean;
/**
* When true the component will render an optimized view for mobile devices
*
* @default false
*/
accessor isMobile: boolean;
/**
* string: Id to pass in the map component
*
* @default 'arcgis-map'
*/
accessor mapComponentId: string;
/** IMapInfo: key configuration details about the current map */
accessor mapInfo: IMapInfo | undefined;
/** IMapInfo[]: array of map infos (name and id) */
accessor mapInfos: IMapInfo[];
/** Valid tools: 'legend', 'search', 'fullscreen', 'basemap', 'floorfilter', 'selectiontool' */
accessor mapToolsOrder: string[];
/** esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html */
accessor mapView: MapView | undefined;
/**
* number: The placement index of the map widgets (legend, basemap, fullscreen etc). This index shows where to place the component relative to other components.
* For example a value of 0 would place it topmost when position is top-*, leftmost for bottom-left and right most for bottom-right.
*
* @default 0
*/
accessor mapWidgetsIndex: number;
/**
* UIPosition: The position details for the mobile map tools
*
* @default 'top-leading'
*/
accessor mapWidgetsPosition: UIPosition;
/**
* 's' | 'm' | 'l': Used for optional map tool widget
*
* @default 'm'
*/
accessor mapWidgetsSize: "l" | "m" | "s";
/**
* UIPosition: The position details for the mobile map tools
*
* @default 'top-right'
*/
accessor mobileMapWidgetsPosition: UIPosition;
/** Valid tools: 'map-picker', 'map-layer-picker' */
accessor mobileToolsOrder: string[];
/**
* boolean: When true the paste action will be enabled
*
* @default false
*/
accessor pasteEnabled: boolean;
/** number[]: A list of ids that are currently selected */
accessor selectedFeaturesIds: (number | string)[];
/** FeatureLayer: Selected layer */
accessor selectedLayer: FeatureLayer | undefined;
/**
* boolean: When true the share options will include embed option
*
* @default false
*/
accessor shareIncludeEmbed: boolean;
/**
* boolean: When true the share options will include social media sharing
*
* @default false
*/
accessor shareIncludeSocial: boolean;
/**
* boolean: When true only the copy and paste actions will be shown in the selection tool
*
* @default false
*/
accessor showCopyPasteActions: boolean;
/**
* boolean: When true only editable layers that support the update capability will be available
*
* @default false
*/
accessor showOnlyUpdatableLayers: boolean;
/**
* boolean: When true the map widget tools will have no margin between them.
* When false the map widget tools will have a margin between them.
*
* @default false
*/
accessor stackTools: boolean;
/** theme: 'light' | 'dark' theme to be used */
accessor theme: theme | undefined;
/**
* VisibilityIconType: visibility icon for the layer list widget
*
* @default 'eyeball'
*/
accessor visibilityIcon: VisibilityIconType;
/**
* 's' | 'm' | 'l': Used for Zoom and Home tools
*
* @default 'm'
*/
accessor zoomToolsSize: "l" | "m" | "s";
/** number: default scale to zoom to when zooming to a single point feature */
accessor zoomToScale: number | undefined;
/** Reset the filter */
resetFilter(): Promise;
/**
* updates the filter
*
* @param active
*/
updateFilterState(active: boolean): Promise;
/** updates the layer in map layer picker */
updateLayer(): Promise;
/** Emitted before a new map is loaded */
readonly beforeMapChanged: import("@arcgis/lumina").TargetedEvent;
/** Emitted on demand when clear selection button is clicked */
readonly clearSelection: import("@arcgis/lumina").TargetedEvent;
/** Emitted on demand when copy action is clicked */
readonly copyFeatures: import("@arcgis/lumina").TargetedEvent;
/** Emitted on demand when edit multiple action is clicked */
readonly editMultipleFeatures: import("@arcgis/lumina").TargetedEvent;
/** Emitted when the features have been copied to the clipboard */
readonly featuresCopied: import("@arcgis/lumina").TargetedEvent;
/** Emitted when a new map is loaded */
readonly mapChanged: import("@arcgis/lumina").TargetedEvent;
/** Emitted on demand when paste action is clicked */
readonly pasteFeatures: import("@arcgis/lumina").TargetedEvent;
/** Emitted on demand when filter action is clicked */
readonly toggleFilter: import("@arcgis/lumina").TargetedEvent;
readonly "@eventTypes": {
beforeMapChanged: MapCard["beforeMapChanged"]["detail"];
clearSelection: MapCard["clearSelection"]["detail"];
copyFeatures: MapCard["copyFeatures"]["detail"];
editMultipleFeatures: MapCard["editMultipleFeatures"]["detail"];
featuresCopied: MapCard["featuresCopied"]["detail"];
mapChanged: MapCard["mapChanged"]["detail"];
pasteFeatures: MapCard["pasteFeatures"]["detail"];
toggleFilter: MapCard["toggleFilter"]["detail"];
};
}