import GirafeResizableElement from '../../base/GirafeResizableElement.js'; import { type TabHeader } from './tools/selectiontabulatormanager.js'; /** * Represents a selection grid component based on GridJs. * Display itself when it should be visible and have selected features. * To be visible, it has to be the defined selectionComponent. * @extends GirafeResizableElement */ declare class SelectionGridComponent extends GirafeResizableElement { templateUrl: null; styleUrls: null; template: () => import("uhtml").Hole; private readonly eventsCallbacks; private selectionTabulatorManager; private csvManager; private isVisibleComponentSetup; private readonly debounceOnFeaturesSelected; visible: boolean; currentTabId: string; resultsSelected: boolean; constructor(); protected connectedCallback(): void; /** * Render the component regarding its visibility. */ render(): void; /** * @returns The current array of TabHeader objects. */ getTabHeaders(): TabHeader[]; /** * Activates the specified tab, renders the grid, and displays the grid for the specified id. */ displayGrid(id: string, replaceData?: boolean): void; /** * Clean the grid, closes the panel and deselect the selected features. */ closePanel(): void; /** * Selects all rows in the grid. */ selectAll(): void; /** * Deselects all rows in the grid. */ selectNone(): void; /** * Inverts the selection of all rows in the grid. */ invertSelection(): void; /** * Zooms to the extent of the selected rows in the grid. */ zoomToSelection(): void; /** * Generates a CSV file from the selected rows in the grid. */ generateCSV(): void; /** * Renders the component by calling the necessary methods. * @private */ private renderComponent; /** * Sets up the components state and side-kicks. * This must be called once at the first (visible) rendering. * @private */ private setupVisibleComponent; /** * Render a placeholder, not visible component on hide. * Removes event registration. * @private */ private renderEmptyComponent; /** * Event about visibility that must be always listened by this component, even hidden. * @private */ private registerVisibilityEvents; /** * Listen events that must be listened if the component is visible. * @private */ private registerEvents; /** * Handles the selected features and updates the grid data accordingly or * close the panel if no data is selected. * @private */ private onFeaturesSelected; /** * Toggles the panel visibility. If visible, tries to display a grid with selected feature. * Can only be visible if the component is the wanted selection component. * @private */ private togglePanel; } export default SelectionGridComponent;