import type { CSSResultGroup } from 'lit'; import { type CollectionWithAvailableServices } from '../../controllers/collection.controller.js'; import TerraElement from '../../internal/terra-element.js'; import type { CmrSearchResult } from '../../apis/cmr.api.js'; import TerraDialog from '../dialog/dialog.component.js'; import type { LatLng } from '../map/models/LatLng.js'; import type { LatLngBounds } from '../map/models/LatLngBounds.js'; import TerraSpatialPicker from '../spatial-picker/spatial-picker.component.js'; import { type ConfiguredOutputFormat, type Variable } from '../../apis/harmony.api.js'; declare const TerraDataSubsetter_base: typeof TerraElement & import("../../mixins/query-client.mixin.js").Constructor; /** * @summary Easily allow users to select, subset, and download NASA Earth science data collections with spatial, temporal, and variable filters. * @documentation https://terra-ui.netlify.app/components/data-subsetter * @status stable * @since 1.0 * * @dependency terra-accordion * @dependency terra-date-picker * @dependency terra-icon * @dependency terra-spatial-picker * * @event terra-subset-job-complete - called when a subset job enters a final state (e.g. successful, failed, completed_with_errors) */ export default class TerraDataSubsetter extends TerraDataSubsetter_base { #private; static styles: CSSResultGroup; static dependencies: Record; collectionEntryId?: string; shortName?: string; version?: string; showCollectionSearch?: boolean; showHistoryPanel?: boolean; jobId?: string; bearerToken?: string; /** * Comma-separated list of feature flags to enable. * Features can also be enabled via the `?terra-features=flag1,flag2` URL parameter. * * Supported flags: * - `dimension-subset` — shows the dimension subsetting accordion * * @example * */ features?: string; /** * Optional dialog ID. When set, the subsetter will render inside a dialog with this ID. */ dialog?: string; isHistoryView: boolean; collectionWithServices?: CollectionWithAvailableServices; selectedVariables: Variable[]; selectedDimensionIndexes: Record; expandedVariableGroups: Set; variableFilterText: string; touchedFields: Set; spatialSelection?: LatLng | LatLngBounds; shapeGeoJson?: object; spatialLabel?: string; selectedDateRange: { startDate: string | null; endDate: string | null; }; selectedFormat: ConfiguredOutputFormat; cancelingGetData: boolean; selectedTab: 'web-links' | 'selected-params'; refineParameters: boolean; collectionSearchType: 'collection' | 'variable' | 'all'; collectionSearchQuery?: string; collectionSearchLoading: boolean; collectionSearchResults?: Array; collectionLoading: boolean; collectionAccordionOpen: boolean; dataAccessMode: 'original' | 'subset'; validationError?: string; harmonyRequestError?: string; granuleMinDate?: string; granuleMaxDate?: string; giovanniConfiguredVariables?: Set; spatialPicker: TerraSpatialPicker; dialogElement?: TerraDialog; jobIdChanged(): void; shortNameAndVersionChanged(): void; collectionEntryIdChanged(): void; firstUpdated(): void; updated(changedProps: Map): void; /** True if the collection contains sub-daily granules. Used by DataSubsetterController to format dates. */ get isSubDaily(): boolean; collectionChanged(): void; granuleDatesChanged(): void; selectedFormatChanged(): void; showDialog(): void; render(): import("lit-html").TemplateResult<1>; minimizeDialog(): void; handleCollectionSearch(searchTerm: string): void; renderHistoryPanel(): void; } export {};