import { TemplateResult, CSSResult } from 'lit';
import 'bootstrap/js/src/tooltip';
import { LidarprofileServerConfigPointAttributes, LidarprofileServerConfigPointAttribute, LidarprofileServerConfigClassifications, LidarprofileServerConfigClassification } from 'ngeo/lidar/Config';
import { Configuration } from 'gmfapi/store/config';
import ToolPanelElement from 'gmfapi/elements/ToolPanelElement';
export default class GmfLidarPanel extends ToolPanelElement {
    private customCSS_;
    private profileConfig_;
    private profile;
    private ready;
    private active;
    private map;
    private drawlineClass;
    private line;
    private classifications;
    private availablePointAttributes;
    connectedCallback(): void;
    initSubscribe(): void;
    initConfig(configuration: Configuration): void;
    static styles: CSSResult[];
    protected render(): TemplateResult;
    /**
     * Toggle the drawLine component status and
     * set the correct class for the toggle button.
     */
    toggleDrawLine(): void;
    /**
     * Toggle visibility of the selected classification object.
     * @param classification The classification to change visibility.
     * @param key The key string of the toggled classification.
     */
    toggleVisibility(classification: LidarprofileServerConfigClassification, key: string): void;
    /**
     * Set visible the selected point attribute option.
     */
    selectPointAttribute(): void;
    /**
     * @private
     */
    initConfigAndActivateTool_(): void;
    /**
     * @param activate Activation state of the plugin
     * @private
     */
    updateEventsListening_(activate: boolean): void;
    /**
     * @private
     */
    update_(): void;
    /**
     * Clear the LIDAR profile tool.
     */
    clearAll(): void;
    /**
     * Activate the measure tool.
     */
    setMeasureActive(): void;
    /**
     * Clear the current measure.
     */
    clearMeasure(): void;
    /**
     * Reload and reset the plot for the current profile (reloads data).
     */
    resetPlot(): void;
    /**
     * Get all available point attributes.
     * @returns Available point attributes.
     */
    getAvailablePointAttributes(): LidarprofileServerConfigPointAttributes[] | undefined;
    /**
     * Set the selected point attribute.
     * @param {LidarprofileServerConfigPointAttribute} selectedPointAttribute The new selected point attribute.
     */
    setSelectedPointAttribute(selectedPointAttribute: LidarprofileServerConfigPointAttribute): void;
    /**
     * Get the available classifications for this dataset.
     * @returns classification list
     */
    getClassification(): LidarprofileServerConfigClassifications;
    /**
     * Sets the visible classification in the profile.
     * @param classification selected value.
     * @param key of the classification code.
     */
    setClassification(classification: LidarprofileServerConfigClassification, key: number): void;
    /**
     * Export the profile data to CSV file
     */
    csvExport(): void;
    /**
     * Export the current d3 chart to PNG file
     */
    pngExport(): void;
}
