import { CSSResultGroup, html, LitElement, PropertyValues, TemplateResult } from "lit";
import type { Map as MapGL } from "maplibre-gl";
import { OrMapBaseControl } from "./base";
import "@openremote/or-vaadin-components/or-vaadin-checkbox";
import "@openremote/or-vaadin-components/or-vaadin-badge";
import "@openremote/or-icon";
import "@openremote/or-vaadin-components/or-vaadin-list-box";
import "@openremote/or-vaadin-components/or-vaadin-item";
export declare class OrMapLegendEvent extends CustomEvent {
static readonly NAME = "or-map-legend-changed";
constructor(assetTypes: string[]);
}
declare global {
export interface HTMLElementEventMap {
[OrMapLegendEvent.NAME]: OrMapLegendEvent;
}
}
export declare class OrMapLegend extends LitElement {
static get styles(): CSSResultGroup;
assetTypes: string[];
excludedTypes: string[];
assetCounts: Record;
private _contentHidden;
protected _assetTypesInfo: any;
protected shouldUpdate(changedProperties: PropertyValues): boolean;
private _setExcluded;
private _toggleType;
protected render(): TemplateResult | typeof html;
}
export declare class OrMapLegendControl extends OrMapBaseControl {
private _assetTypes;
private _excludedTypes;
private _assetCounts;
private _component?;
constructor(_assetTypes: string[], _excludedTypes: string[], _assetCounts: Record);
onAdd(_map: MapGL): HTMLElement;
onRemove(): void;
update(types: string[], counts: Record): void;
clear(): void;
set assetTypes(types: string[]);
set assetCounts(counts: Record);
set excludedTypes(types: string[]);
get element(): OrMapLegend | undefined;
}
//# sourceMappingURL=legend.d.ts.map