///
import { ITimeInfoConfigItem, ITimeInfoItem } from './interfaces/customElement.js';
import { FilterMode } from '../../../interfaces/interfaces';
declare class InstantAppsTimeFilterViewModel {
constructor();
reactiveUtils: __esri.reactiveUtils;
handles: __esri.Handles | null;
initializeModules(): Promise;
init(timeSliderRef: HTMLDivElement | undefined): Promise;
destroy(): void;
getTimeLayerViews(view: __esri.MapView | __esri.SceneView, timeInfoConfigItems: ITimeInfoConfigItem[]): Promise<__esri.LayerView[] | undefined>;
generateTimeInfoItems(timeLayerViews: __esri.LayerView[], timeConfigItems: ITimeInfoConfigItem[]): ITimeInfoItem[];
generateTimeInfoItem(layerView: __esri.LayerView, { increments, rangeStart, rangeEnd, timeIntervalValue }: ITimeInfoConfigItem): ITimeInfoItem;
initTimeSlider(timeSliderRef: HTMLDivElement, defaultItem?: ITimeInfoConfigItem): Promise;
setupFilterModeWatcher(): void;
getTimeSliderConfig(timeSliderRef: HTMLDivElement, defaultItem?: ITimeInfoConfigItem): Promise<__esri.widgetsTimeSliderProperties>;
initialize2DView(): void;
applyTimeExtent(layerView: __esri.FeatureLayerView, timeExtent: __esri.TimeExtent, filterMode?: FilterMode): void;
applyFeatureEffect(layerView: __esri.FeatureLayerView, timeExtent: __esri.TimeExtent, filterMode?: FilterMode): void;
handleUpdatedFeatureEffect(fLayerView: __esri.FeatureLayerView, timeExtent: __esri.TimeExtent): Promise;
applyFeatureFilter(layerView: __esri.FeatureLayerView, timeExtent: __esri.TimeExtent): Promise;
setupTimeExtentWatcher(): void;
updateSelectedTimeInfoItem(timeInfoItem: ITimeInfoItem): void;
reconfigureTimeSlider(timeInfoItem: ITimeInfoItem): Promise;
getTimeExtent({ rangeStart, rangeEnd, previousTimeExtent }: ITimeInfoItem): Promise<__esri.TimeExtent>;
getTimeInterval(timeInfoItem: ITimeInfoItem): Promise<__esri.TimeInterval>;
getLabel(timeInfoItem: ITimeInfoItem): string;
}
export declare const viewModel: InstantAppsTimeFilterViewModel;
export {};