import type { AggregationOperation } from '@deck.gl/aggregation-layers'; import { AGGREGATION_TYPES } from '../../constants/default-settings'; import { RGBAColor, ValueOf } from '../../reducers'; export type UpdaterType = (this: CPUAggregator, step: any, props: any, dimensionUpdater: any) => void; export type BindedUpdaterType = () => void; export type AggregatedUpdaterType = (this: CPUAggregator, step: any, props: any, aggregation: any, aggregationParams: any) => void; export type BindedAggregatedUpdaterType = (aggregationParams: any) => void; export type UpdateStepsType = { key: string; triggers: { [key: string]: { prop: string; updateTrigger?: string; }; }; onSet?: { props: string; }; updater: UpdaterType; }; export type DimensionType = { key: string; accessor: string; getPickingInfo: (dimensionState: any, cell: any, layerProps?: any) => any; nullValue: ValueType; updateSteps: UpdateStepsType[]; getSubLayerAccessor: any; }; export type AggregationUpdateStepsType = { key: string; triggers: { [key: string]: { prop: string; updateTrigger?: string; }; }; updater: AggregatedUpdaterType; }; export type AggregationType = { key: string; updateSteps: AggregationUpdateStepsType[]; }; export declare const DECK_AGGREGATION_MAP: Partial>>; export declare function getValueFunc(aggregation: any, accessor: any): (pts: any) => any; export declare function getScaleFunctor(scaleType: any): any; export declare function getGetValue(this: CPUAggregator, step: any, props: any, dimensionUpdater: any): void; export declare function getDimensionSortedBins(this: CPUAggregator, step: any, props: any, dimensionUpdater: any): void; export declare function getDimensionValueDomain(this: CPUAggregator, step: any, props: any, dimensionUpdater: any): void; export declare function getDimensionScale(this: CPUAggregator, step: any, props: any, dimensionUpdater: any): void; export declare function getAggregatedData(this: CPUAggregator, step: any, props: any, aggregation: any, aggregationParams: any): void; export declare const defaultAggregation: AggregationType; export declare const defaultColorDimension: DimensionType; export declare const defaultElevationDimension: DimensionType; export declare const defaultDimensions: (DimensionType | DimensionType)[]; export type CPUAggregatorState = { layerData: { data?: any; }; dimensions: {}; }; export default class CPUAggregator { static getDimensionScale: any; state: CPUAggregatorState; dimensionUpdaters: { [key: string]: DimensionType; }; aggregationUpdater: AggregationType; constructor(opts?: { initialState?: CPUAggregatorState; dimensions?: DimensionType[]; aggregation?: AggregationType; }); static defaultDimensions(): (DimensionType | DimensionType)[]; updateAllDimensions(props: any): void; updateAggregation(props: any, aggregationParams: any): void; updateState(opts: any, aggregationParams: any): CPUAggregatorState; setState(updateObject: any): void; _setDimensionState(key: any, updateObject: any): void; _addAggregation(aggregation: AggregationType): void; _addDimension(dimensions?: DimensionType[]): void; _needUpdateStep(dimensionStep: UpdateStepsType | AggregationUpdateStepsType, oldProps: any, props: any, changeFlags: any): boolean; _accumulateUpdaters(step: any, props: any, dimension: UpdaterObjectType): (UpdaterObjectType extends DimensionType ? BindedUpdaterType : BindedAggregatedUpdaterType)[]; _getAllUpdaters(dimension: UpdaterObjectType, oldProps: any, props: any, changeFlags: any): (UpdaterObjectType extends DimensionType ? BindedUpdaterType : BindedAggregatedUpdaterType)[]; _getAggregationChanges(oldProps: any, props: any, changeFlags: any): BindedAggregatedUpdaterType[]; _getDimensionChanges(oldProps: any, props: any, changeFlags: any): BindedUpdaterType[]; getUpdateTriggers(props: any): {}; getPickingInfo({ info }: { info: any; }, layerProps: any): any; getAccessor(dimensionKey: any, layerProps: any): any; }