import { PathStyleProps } from 'zrender/lib/graphic/Path'; import Model from '../model/Model'; import DataDiffer from './DataDiffer'; import { DataProvider } from './helper/dataProvider'; import DataDimensionInfo from './DataDimensionInfo'; import { ArrayLike, Dictionary, FunctionPropertyNames } from 'zrender/lib/core/types'; import Element from 'zrender/lib/Element'; import { DimensionIndex, DimensionName, DimensionLoose, OptionDataItem, ParsedValue, ParsedValueNumeric, OrdinalNumber, DimensionUserOuput, SeriesDataType, OptionSourceData, DecalObject } from '../util/types'; import type Graph from './Graph'; import type Tree from './Tree'; import type { VisualMeta } from '../component/visualMap/VisualMapModel'; import { Source } from './Source'; declare const dataCtors: { float: ArrayConstructor | Float64ArrayConstructor; int: ArrayConstructor | Int32ArrayConstructor; ordinal: ArrayConstructor; number: ArrayConstructor; time: ArrayConstructor; }; export declare type ListDimensionType = keyof typeof dataCtors; declare type DimValueGetter = (this: List, dataItem: any, dimName: DimensionName, dataIndex: number, dimIndex: DimensionIndex) => ParsedValue; declare type ItrParamDims = DimensionLoose | Array; declare type CtxOrList = unknown extends Ctx ? List : Ctx; declare type EachCb0 = (this: CtxOrList, idx: number) => void; declare type EachCb1 = (this: CtxOrList, x: ParsedValue, idx: number) => void; declare type EachCb2 = (this: CtxOrList, x: ParsedValue, y: ParsedValue, idx: number) => void; declare type EachCb = (this: CtxOrList, ...args: any) => void; declare type FilterCb0 = (this: CtxOrList, idx: number) => boolean; declare type FilterCb1 = (this: CtxOrList, x: ParsedValue, idx: number) => boolean; declare type FilterCb2 = (this: CtxOrList, x: ParsedValue, y: ParsedValue, idx: number) => boolean; declare type FilterCb = (this: CtxOrList, ...args: any) => boolean; declare type MapArrayCb0 = (this: CtxOrList, idx: number) => any; declare type MapArrayCb1 = (this: CtxOrList, x: ParsedValue, idx: number) => any; declare type MapArrayCb2 = (this: CtxOrList, x: ParsedValue, y: ParsedValue, idx: number) => any; declare type MapArrayCb = (this: CtxOrList, ...args: any) => any; declare type MapCb1 = (this: CtxOrList, x: ParsedValue, idx: number) => ParsedValue | ParsedValue[]; declare type MapCb2 = (this: CtxOrList, x: ParsedValue, y: ParsedValue, idx: number) => ParsedValue | ParsedValue[]; export interface DefaultDataVisual { style: PathStyleProps; drawType: 'fill' | 'stroke'; symbol?: string; symbolSize?: number | number[]; symbolRotate?: number; symbolKeepAspect?: boolean; liftZ?: number; legendSymbol?: string; visualMeta?: VisualMeta[]; colorFromPalette?: boolean; decal?: DecalObject; } export interface DataCalculationInfo { stackedDimension: string; stackedByDimension: string; isStackedByIndex: boolean; stackedOverDimension: string; stackResultDimension: string; stackedOnSeries?: SERIES_MODEL; } declare class List { readonly type = "list"; readonly dimensions: string[]; private _dimensionInfos; readonly hostModel: HostModel; dataType: SeriesDataType; graph?: Graph; tree?: Tree; private _indices; private _count; private _rawCount; private _storage; private _storageArr; private _nameList; private _idList; private _visual; private _layout; private _itemVisuals; private _itemLayouts; private _graphicEls; private _rawData; private _rawExtent; private _extent; private _approximateExtent; private _dimensionsSummary; private _invertedIndicesMap; private _calculationInfo; readonly userOutput: DimensionUserOuput; hasItemOption: boolean; defaultDimValueGetter: DimValueGetter; private _dimValueGetter; private _dimValueGetterArrayRows; private _nameRepeatCount; private _nameDimIdx; private _nameOrdinalMeta; private _idDimIdx; private _idOrdinalMeta; private _dontMakeIdFromName; private __wrappedMethods; TRANSFERABLE_METHODS: readonly ["cloneShallow", "downSample", "lttbDownSample", "map"]; CHANGABLE_METHODS: readonly ["filterSelf", "selectRange"]; DOWNSAMPLE_METHODS: readonly ["downSample", "lttbDownSample"]; constructor(dimensions: Array, hostModel: HostModel); getDimension(dim: DimensionLoose): DimensionName; getDimensionInfo(dim: DimensionLoose): DataDimensionInfo; getDimensionsOnCoord(): DimensionName[]; mapDimension(coordDim: DimensionName): DimensionName; mapDimension(coordDim: DimensionName, idx: number): DimensionName; mapDimensionsAll(coordDim: DimensionName): DimensionName[]; initData(data: Source | OptionSourceData | DataProvider, nameList?: string[], dimValueGetter?: DimValueGetter): void; getProvider(): DataProvider; appendData(data: ArrayLike): void; appendValues(values: any[][], names?: string[]): void; private _initDataFromProvider; count(): number; getIndices(): ArrayLike; getByDimIdx(dimIdx: number, idx: number): ParsedValue; get(dim: DimensionName, idx: number): ParsedValue; getByRawIndex(dim: DimensionName, rawIdx: number): ParsedValue; getValues(idx: number): ParsedValue[]; getValues(dimensions: readonly DimensionName[], idx: number): ParsedValue[]; hasValue(idx: number): boolean; getDataExtent(dim: DimensionLoose): [number, number]; getApproximateExtent(dim: DimensionLoose): [number, number]; setApproximateExtent(extent: [number, number], dim: DimensionLoose): void; getCalculationInfo>(key: CALC_INFO_KEY): DataCalculationInfo[CALC_INFO_KEY]; setCalculationInfo(key: DataCalculationInfo): void; setCalculationInfo>(key: CALC_INFO_KEY, value: DataCalculationInfo[CALC_INFO_KEY]): void; getSum(dim: DimensionName): number; getMedian(dim: DimensionLoose): number; rawIndexOf(dim: DimensionName, value: OrdinalNumber): number; indexOfName(name: string): number; indexOfRawIndex(rawIndex: number): number; indicesOfNearest(dim: DimensionName, value: number, maxDistance?: number): number[]; getRawIndex: (idx: number) => number; getRawDataItem(idx: number): OptionDataItem; getName(idx: number): string; getId(idx: number): string; each(cb: EachCb0, ctx?: Ctx, ctxCompat?: Ctx): void; each(dims: DimensionLoose, cb: EachCb1, ctx?: Ctx, ctxCompat?: Ctx): void; each(dims: [DimensionLoose], cb: EachCb1, ctx?: Ctx, ctxCompat?: Ctx): void; each(dims: [DimensionLoose, DimensionLoose], cb: EachCb2, ctx?: Ctx, ctxCompat?: Ctx): void; each(dims: ItrParamDims, cb: EachCb, ctx?: Ctx, ctxCompat?: Ctx): void; filterSelf(cb: FilterCb0, ctx?: Ctx, ctxCompat?: Ctx): this; filterSelf(dims: DimensionLoose, cb: FilterCb1, ctx?: Ctx, ctxCompat?: Ctx): this; filterSelf(dims: [DimensionLoose], cb: FilterCb1, ctx?: Ctx, ctxCompat?: Ctx): this; filterSelf(dims: [DimensionLoose, DimensionLoose], cb: FilterCb2, ctx?: Ctx, ctxCompat?: Ctx): this; filterSelf(dims: ItrParamDims, cb: FilterCb, ctx?: Ctx, ctxCompat?: Ctx): this; selectRange(range: { [dimName: string]: [number, number]; }): List; mapArray>(cb: Cb, ctx?: Ctx, ctxCompat?: Ctx): ReturnType[]; mapArray>(dims: DimensionLoose, cb: Cb, ctx?: Ctx, ctxCompat?: Ctx): ReturnType[]; mapArray>(dims: [DimensionLoose], cb: Cb, ctx?: Ctx, ctxCompat?: Ctx): ReturnType[]; mapArray>(dims: [DimensionLoose, DimensionLoose], cb: Cb, ctx?: Ctx, ctxCompat?: Ctx): ReturnType[]; mapArray>(dims: ItrParamDims, cb: Cb, ctx?: Ctx, ctxCompat?: Ctx): ReturnType[]; map(dims: DimensionLoose, cb: MapCb1, ctx?: Ctx, ctxCompat?: Ctx): List; map(dims: [DimensionLoose], cb: MapCb1, ctx?: Ctx, ctxCompat?: Ctx): List; map(dims: [DimensionLoose, DimensionLoose], cb: MapCb2, ctx?: Ctx, ctxCompat?: Ctx): List; downSample(dimension: DimensionName, rate: number, sampleValue: (frameValues: ArrayLike) => ParsedValueNumeric, sampleIndex: (frameValues: ArrayLike, value: ParsedValueNumeric) => number): List; lttbDownSample(valueDimension: DimensionName, rate: number): List, DefaultDataVisual>; getItemModel(idx: number): Model; diff(otherList: List): DataDiffer; getVisual(key: K): Visual[K]; setVisual(key: K, val: Visual[K]): void; setVisual(kvObj: Partial): void; getItemVisual(idx: number, key: K): Visual[K]; hasItemVisual(): boolean; ensureUniqueItemVisual(idx: number, key: K): Visual[K]; setItemVisual(idx: number, key: K, value: Visual[K]): void; setItemVisual(idx: number, kvObject: Partial): void; clearAllVisual(): void; setLayout(key: string, val: any): void; setLayout(kvObj: Dictionary): void; getLayout(key: string): any; getItemLayout(idx: number): any; setItemLayout(idx: number, layout: (M extends true ? Dictionary : any), merge?: M): void; clearItemLayouts(): void; setItemGraphicEl(idx: number, el: Element): void; getItemGraphicEl(idx: number): Element; eachItemGraphicEl(cb: (this: Ctx, el: Element, idx: number) => void, context?: Ctx): void; cloneShallow(list?: List): List; wrapMethod(methodName: FunctionPropertyNames, injectFunction: (...args: any) => any): void; private static internalField; } interface List { getLinkedData(dataType?: SeriesDataType): List; getLinkedDataAll(): { data: List; type?: SeriesDataType; }[]; } export default List;