import { Metric, RawGeometry, Aggregation, Search, Filter } from 'arlas-api'; /** * Enum of sorting value define in Arlas-web-components */ export declare enum SortEnum { asc = 0, desc = 1, none = 2 } /** * Enum of type of trigger for action define in Arlas-web-components */ export declare enum triggerType { onclick = 0, onconsult = 1 } /** * Enum of type for cluster calculation */ export declare enum ClusterAggType { tile = "tile", geohash = "geohash" } /** * Action trigger by a contributor through the app or another contributor. * - id of action. * - label of action. */ export interface Action { id: string; label: string; tooltip?: string; collection?: string; cssClass?: string | string[]; } /** * Couple of field/value id product, use to retrieve the product. * - id field name. * - id field value. */ export interface ElementIdentifier { idFieldName: string; idValue: string; } /** * Object of start and end value of the chart selector. */ export interface SelectedOutputValues { startvalue: Date | number | string; endvalue: Date | number | string; } /** * Object of label and count value use in chip. */ export interface SearchLabel { label: string; count: number; } /** * Object of label and count value use in chip. */ export interface OnMoveResult { zoom: number; center: any; extend: Array; extendForLoad: Array; rawExtendForTest: Array; rawExtendForLoad: Array; extendForTest: Array; visibleLayers: Set; } export interface FieldsConfiguration { /** Id field name */ idFieldName: string; /** * @deprecated * Url template of image * */ urlImageTemplate?: string; /** * List of url template of images */ urlImageTemplates?: Array; /** Url template of thumbnail */ urlThumbnailTemplate?: string; /** List of fields which values are used as titles in the resultlist. Values are joined with a space ' ' */ titleFieldNames?: Array; /** List of fields which values are used as tooltips in the resultlist. Values are joined with a space ' ' */ tooltipFieldNames?: Array; /** * @deprecated * Name of a Material icon * */ icon?: string; /** Field which value is used as a css class name => allows data driven styling of the resultlist rows/tiles */ iconCssClass?: string; /** Field which value is transformed to a hex color (using an ArlasColorService) and associated to the icon color */ iconColorFieldName?: string; useHttpQuicklooks?: boolean; } export interface DescribedUrl { url: string; description: string; filter?: FieldFilter; } export interface FieldFilter { field: string; values: Array; } export interface Column { columnName: string; fieldName: string; dataType: string; process: string; dropdown: boolean; dropdownsize: number; } export interface Detail { name: string; order: number; fields: Array; } export interface FieldDetail { path: string; label: string; process: string; } export interface TreeNode { id: string; fieldName: string; fieldValue: string; isOther: boolean; size?: number; metricValue?: number; children?: Array; color?: string; } export interface SimpleNode { fieldName: string; fieldValue: string; } export interface SelectionTree { field: string; value: string; children?: Array; parent?: SelectionTree; } export interface TimeShortcut { label: string; from: DateExpression; to: DateExpression; type: string; } export interface StringifiedTimeShortcut { label: string; from: string; to: string; type: string; } /** The render mode of a `Feature` layersource * Only layersource of type `Feature` are concerned */ export declare enum FeatureRenderMode { /** This mode fetches data that fit a window of explorat°. This window has a size and a sort both defined at the MapContributor level. * maxfeature/minfeatures are ignored in this mode */ window = "window", /** This mode fetches data globally. In this case the data undergoes the visibilty rules imposed by maxzoom/maxfeatures */ wide = "wide" } export interface LayerSourceConfig { /** common config to all types */ id: string; name?: string; source: string; minzoom: number; maxzoom: number; filters?: Array; /** **************************************** */ /** feature (Geometric-features) only */ returned_geometry?: string; normalization_fields?: Array; short_form_fields?: Array; render_mode?: FeatureRenderMode; /** **************************************** */ /** feature-metric (Network-analytics only) */ geometry_id?: string; network_fetching_level?: number; /** @deprecated */ geometry_support?: string; /** **************************************** */ /** cluster only */ agg_geo_field?: string; aggregated_geometry?: string; aggType?: ClusterAggType; minfeatures?: number; /** **************************************** */ /** feature & feature-metric only */ maxfeatures?: number; colors_from_fields?: Array; include_fields?: Array; provided_fields?: Array; /** **************************************** */ /** cluster & feature-metric only */ raw_geometry?: RawGeometryConfig; granularity?: string; metrics?: Array; fetched_hits?: FetchedHitsConfig; } export interface FetchedHitsConfig { sorts?: string[]; fields?: string[]; short_form_fields?: string[]; } export interface ColorConfig { color: string; label?: string; } export declare enum DateUnitEnum { y = "y", M = "M", w = "w", d = "d", h = "h", H = "H", m = "m", s = "s" } export declare enum PageEnum { next = "next", previous = "previous" } export declare class DateExpression { anchorDate: number | string; translationDuration: number; translationUnit: DateUnitEnum; roundingUnit: DateUnitEnum; constructor(anchorDate?: any, translationDuration?: any, translationUnit?: any, roundingUnit?: DateUnitEnum); toString(): string; toMillisecond(roundUp: boolean, useUtc: boolean): number; static toDateExpression(expression: string): DateExpression; private static setPostAnchorExpression; private roundDown; private roundUp; } export interface Field { fieldPath: string; process?: string; } export interface Attachment { url: string; label?: string; type?: string; description?: string; icon?: string; } export interface AdditionalInfo { details?: Map>; actions?: Array; attachments?: Array; } export interface AttachmentConfig { attachmentsField: string; attachementUrlField: string; attachmentLabelField?: string; attachmentTypeField?: string; attachmentDescriptionField?: string; attachmentIcon?: string; } /** * This interface defines how to apply normalization on the values of a field. * 1. `on` : Choose the **date** or **numeric** field which values are normalized. * 2. `per` : (Optional) Choose the **keyword** field in order to normalize the `"on"` values per keyword. */ export interface NormalizationFieldConfig { on: string; per?: string; } export interface RawGeometryConfig { geometry: string; sort: string; } /** * This class defines how to apply normalization on the values of a field. * 1. `on` : Choose the **date** or **numeric** field which values are normalized. * 2. `per` : (Optional) Choose the **keyword** field in order to normalize the `"on"` values per keyword. * An object of this class stores the **min** and **max** values of the `"on"` field (given the `"per"` field) */ export declare class FeaturesNormalization implements NormalizationFieldConfig { on: string; per?: string; minMaxPerKey?: Map; minMax?: [number, number]; } export declare class LayerSource { id: string; source: string; layerMinzoom: number; layerMaxzoom: number; sourceMinzoom: number; sourceMaxzoom: number; } export declare class LayerFeatureSource extends LayerSource { renderMode: FeatureRenderMode; maxfeatures: number; sourceMaxFeatures: number; normalizationFields: Array; shortFormLabels: Array; includeFields: Set; providedFields: Array; colorFields: Set; returnedGeometry: string; } export declare class LayerClusterSource extends LayerSource { minfeatures: number; sourceMinFeatures: number; aggGeoField: string; granularity: Granularity; aggregatedGeometry: Aggregation.AggregatedGeometriesEnum; rawGeometry: RawGeometry; metrics: Array; type: ClusterAggType; fetchedHits: FetchedHitsConfig; } /** Topology = feature-metric */ export declare class LayerTopologySource extends LayerSource { maxfeatures: number; sourceMaxFeatures: number; metrics: Array; geometryId: string; rawGeometry: RawGeometry; granularity: Granularity; providedFields: Array; colorFields: Set; includeFields: Set; networkFetchingLevel: number; fetchedHits: FetchedHitsConfig; } export declare enum Granularity { coarse = "Coarse", medium = "Medium", fine = "Fine", finest = "Finest" } export interface MetricConfig { field: string; metric: Metric.CollectFctEnum | string; normalize: boolean; short_format?: boolean; } export interface SourcesAgg { agg: Aggregation; sources: Array; } export interface SourcesSearch { search: Search; sources: Array; } export interface ComputeConfig { field: string; metric: string; filter?: Filter; } export declare type ItemDataType = string | number | Date | Array;