import GirafeHTMLElement from '../../base/GirafeHTMLElement.js'; import { SelectionMode, SelectionTool } from '../../models/selection.js'; import { Draw, Interaction } from 'ol/interaction.js'; import MapComponent from '../map/component.js'; import { Style } from 'ol/style.js'; import { FeatureLike } from 'ol/Feature.js'; import IGirafePanel from '../../tools/state/igirafepanel.js'; export default class SelectionToolComponent extends GirafeHTMLElement implements IGirafePanel { templateUrl: null; styleUrls: null; template: () => import("uhtml").Hole; isPanelVisible: boolean; panelTitle: string; panelTogglePath: string; renderedOnce: boolean; buttons: { id: string; tool: SelectionTool; }[]; toolSelected: Element | null; selectionMode: SelectionMode; canExecuteSelect: () => boolean; get drawing(): { defaultFillColor: string; defaultStrokeColor: string; defaultStrokeWidth: number; defaultTextSize: number; defaultFont: string; defaultVertexRadius: number; defaultVertexFillColor: string; defaultVertexStrokeWidth: number; }; get map(): import("ol").Map; get mapComponent(): MapComponent; private defaultStyle; private labelStyle; styleFunction: (featureLike: FeatureLike) => Style[]; selectPoint: Interaction; selectRectangle: Draw; selectPolygon: Draw; selectFreehandPolygon: Draw; selectCircle: Draw; selectInteractions: Record; lastSelectInteraction: Interaction | undefined; constructor(name?: string); private addSelectionHandlers; render(): void; renderComponent(): void; setTool(tool: SelectionTool | null): void; connectedCallback(): void; togglePanel(visible: boolean): void; registerEvents(): void; unregisterEvents(): void; onSelectionModeChanged(event: Event): void; }