import GirafeHTMLElement from '../../../base/GirafeHTMLElement.js';
import BaseLayer from '../../../models/layers/baselayer.js';
import { TimeAwareLayer } from '../../../models/layers/timeawarelayer.js';
export default abstract class TreeViewElement extends GirafeHTMLElement {
private dragManager;
protected layer: BaseLayer;
private dragButton;
private container;
private header;
constructor(layer: BaseLayer, name: string);
protected connectedCallback(): void;
render(): void;
private highlight;
refreshRender(): void;
refreshRender(layer?: BaseLayer): void;
protected showMetadata(): void;
protected initializeDrag(): void;
private dragStart;
private dragEnd;
private dragEnter;
private dragLeave;
private setDragStyle;
getButtonClass(button: string): string;
protected createTimeRestrictionTooltip(layer: TimeAwareLayer): void;
protected removeFromParent(): void;
private static removeLayerFromParent;
}