import * as _angular_core from '@angular/core'; import { Signal } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { HsEventBusService } from 'hslayers-ng/services/event-bus'; import { HsFiltersService } from 'hslayers-ng/common/filters'; import { HsLayerDescriptor } from 'hslayers-ng/types'; import { HsLayerManagerService, HsLayerSelectorService } from 'hslayers-ng/services/layer-manager'; import { HsLayoutService } from 'hslayers-ng/services/layout'; import { HsPanelBaseComponent } from 'hslayers-ng/common/panels'; import { HsToastService } from 'hslayers-ng/common/toast'; import { HsProxyService } from 'hslayers-ng/services/utils'; declare class HsWfsFilterComponent extends HsPanelBaseComponent { name: string; selectedLayer: _angular_core.WritableSignal; rule: Signal; hsFiltersService: HsFiltersService; hsEventBusService: HsEventBusService; hsLayerManagerService: HsLayerManagerService; hsProxyService: HsProxyService; hsLayoutService: HsLayoutService; httpClient: HttpClient; hsLayerSelectorService: HsLayerSelectorService; hsToastService: HsToastService; availableLayers: Signal; loadingLayerInfo: _angular_core.WritableSignal; constructor(); /** * Selects a layer and updates the filter service * @param layer The layer to select */ selectLayer(layer: HsLayerDescriptor | null): Promise; /** * Sets the existing layer attributes and returns true if successful, false otherwise */ private setExistingLayerAttributes; /** * Parses the WFS DescribeFeatureType response XML into an array of feature attributes. * @param xmlString The XML string response from the WFS DescribeFeatureType request. * @param layer The layer object to determine geometry attribute from. * @returns An object containing the attributes and geometry attribute name. */ private parseWfsDescribeFeatureType; /** * Determines if a given type is numeric. * @param type The type string to check. * @returns True if the type is numeric, false otherwise. */ private isNumericType; /** * Determines the geometry attribute name based on the layer and attributes. * @param layer The layer object to determine geometry attribute from. * @param attributes The array of feature attributes. * @returns The geometry attribute name or null if not found. */ private determineGeometryAttribute; /** * Determines if a given type is a geometry type. * @param type The type string to check. * @returns True if the type is a geometry type, false otherwise. */ private isGeometryType; /** * Checks if a value is considered empty */ private isEmptyValue; /** * Recursively checks if all filter values are filled */ private areAllFilterValuesFilled; /** * Applies the current filter to the selected layer and refreshes the source */ applyFilters(): void; /** * Updates the layer with the parsed filter */ updateLayer(selectedLayer: HsLayerDescriptor, parsedFilter: any, wfsFilter: any[]): void; /** * Parses the filter into OpenLayers format * @param filter The filter to parse * @returns Parsed OpenLayers filter */ parseFilter(filter: any[]): any; /** * Opens the Add Data panel */ openAddDataPanel(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { HsWfsFilterComponent };