///
import type { IBeforeMapChange, IMapInfo } from "../../utils/interfaces.js";
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { T9nMeta } from "@arcgis/lumina/controllers";
export abstract class MapPicker extends LitElement {
/**
* Contains the translations for this component.
* All UI strings should be defined here.
*
* @internal
*/
protected _translations: {
switchMap: string;
mapList: string;
} & T9nMeta<{
switchMap: string;
mapList: string;
}>;
/**
* number: optional fixed height value for the control.
* Specified as pixel height.
*/
accessor height: number | undefined;
/**
* boolean: when true map list will shown in half width.
*
* @default false
*/
accessor isMapLayout: boolean | undefined;
/** IMapInfo[]: array of map infos (name and id) */
accessor mapInfos: IMapInfo[];
/**
* string: Refrence element for the calcite popover to show the map list
*
* @default ''
*/
accessor referenceElement: string;
/**
* string: The id of the map currently selected
*
* @default ''
*/
accessor selectedWebMapId: string;
/**
* boolean: When true the map list will shown inside a popover
* In this case the selected map will not shown as label
*
* @default false
*/
accessor showMapListInPopover: boolean;
/** Closes the list */
close(): Promise;
/**
* @param id
* @param skipEditCheck
*/
setMapByID(id: string, skipEditCheck?: boolean): Promise;
/**
* Expands the list
*
* @param mapListExpanded
*/
toggle(mapListExpanded: boolean): Promise;
/** Emitted before a new map is loaded */
readonly beforeMapInfoChange: import("@arcgis/lumina").TargetedEvent;
/** Emitted when a new map is loaded */
readonly mapInfoChange: import("@arcgis/lumina").TargetedEvent;
readonly "@eventTypes": {
beforeMapInfoChange: MapPicker["beforeMapInfoChange"]["detail"];
mapInfoChange: MapPicker["mapInfoChange"]["detail"];
};
}