import type { VectorFeatureFileFormat, ColorPalette, ColorVariable, PrintFileFormat } from '../crosssectiontypes.js'; import type { Marker, Measurement } from '../scatterplot.js'; import GirafeHTMLElement from '../../../base/GirafeHTMLElement.js'; import { CrossSectionState } from '../crosssectionstate.js'; import { Style } from 'ol/style.js'; import VectorSource from 'ol/source/Vector.js'; import VectorLayer from 'ol/layer/Vector.js'; import Feature from 'ol/Feature.js'; import { Geometry, LineString, Point, Polygon } from 'ol/geom.js'; import { Draw, Modify } from 'ol/interaction.js'; import OL3Parser from 'jsts/org/locationtech/jts/io/OL3Parser.js'; import IGirafePanel from '../../../tools/state/igirafepanel.js'; declare class CrossSectionSettingsComponent extends GirafeHTMLElement implements IGirafePanel { templateUrl: null; styleUrls: null; template: () => import("uhtml").Hole; crossSectionState: CrossSectionState; private readonly eventsCallbacks; darkFrontendMode: boolean; isPanelVisible: boolean; panelTitle: string; panelTogglePath: string; private get map(); linestring: Feature; linestringSource: VectorSource>; linesLayer: VectorLayer>>; domainLinestring: Feature; domainLinestringSource: VectorSource>; domainLineStringLayer: VectorLayer>>; polygon: Feature; polygonSource: VectorSource>; polygonLayer: VectorLayer>>; pointer: Feature; pointerSource: VectorSource>; pointerLayer: VectorLayer>>; points: Feature[]; pointsSource: VectorSource>; pointsLayer: VectorLayer>>; drawInteraction: Draw; modifyInteraction: Modify; linestringLength: number; markersTable: HTMLTableElement | null; measurementsTable: HTMLTableElement | null; parser: OL3Parser; iconStyle: Style; pointStyleFunction: (feature: Feature) => Style; constructor(); private initializeMapElements; private initializeLinestring; private initializeDomainLinestring; private initializePolygon; private initializePointer; private initializePointsLayer; private initializeInteractions; private handleAddFeature; private initializeDrawInteraction; private initializeModifyInteraction; updateMarkers(polygon: Feature): void; drawLinestringBuffer(): void; updateLinestringCoordinates(): void; drawDomainLinestring(): void; getDistanceAtCoord(lineStringGeom: LineString, coord: [number, number]): number; shiftLinestring(shift?: [number, number]): void; drawPointer(coords: [number, number]): void; drawMapMarkers(): void; addInteractions(): void; removeInteractions(): void; toggleMeasureDraw(): void; toggleMarkerDraw(): void; toggleLineDraw(): void; toggleVisibility(id: string): void; setColor(id: string, color: string): void; setColorVariable(id: string, colorby: ColorVariable): void; setLineDrawingMode(val: boolean): void; setSectionWidth(val: number): void; setVerticalExaggeration(val: number): void; setPointSize(val: number): void; setGridVisibility(val: boolean): void; setBackgroundColor(val: string): void; setColorPalette(val: ColorPalette): void; exportFeature(features: Feature[], filename: string, format: VectorFeatureFileFormat): void; renderMeasurementsTable(table: HTMLTableElement, records: Measurement[]): void; renderAnnotationsTable(table: HTMLTableElement, records: Marker[]): void; deleteProfile(): void; deleteMarker(id: string): void; deleteAllMarkers(): void; deleteAllMeasurements(): void; resetZoom(): void; zoomToMarker(id: string): void; setViewSync(val: boolean): void; printPlot(printFileFormat: PrintFileFormat): void; setPrintFileFormat(val: PrintFileFormat): void; setAnnotationsFileFormat(val: VectorFeatureFileFormat): void; setLineFileFormat(val: VectorFeatureFileFormat): void; handleCursorDomainCoordinatesChange(cursorDomainCoordinates: [number, number]): void; render(): void; private renderComponent; private renderEmptyComponent; registerEvents(): void; unregisterEvents(): void; togglePanel(visible: boolean): void; protected connectedCallback(): void; } export default CrossSectionSettingsComponent;