| import { Source } from '../Source.js'; | 
| import { DimensionName, OptionEncode, DimensionIndex, SeriesEncodableModel } from '../../util/types.js'; | 
| import { DatasetModel } from '../../component/dataset/install.js'; | 
| import SeriesModel from '../../model/Series.js'; | 
| import GlobalModel from '../../model/Global.js'; | 
| import { CoordDimensionDefinition } from './createDimensions.js'; | 
| export declare const BE_ORDINAL: { | 
|     Must: number; | 
|     Might: number; | 
|     Not: number; | 
| }; | 
| declare type BeOrdinalValue = (typeof BE_ORDINAL)[keyof typeof BE_ORDINAL]; | 
| declare type SeriesEncodeInternal = { | 
|     [key in keyof OptionEncode]: DimensionIndex[]; | 
| }; | 
| /** | 
|  * MUST be called before mergeOption of all series. | 
|  */ | 
| export declare function resetSourceDefaulter(ecModel: GlobalModel): void; | 
| /** | 
|  * [The strategy of the arrengment of data dimensions for dataset]: | 
|  * "value way": all axes are non-category axes. So series one by one take | 
|  *     several (the number is coordSysDims.length) dimensions from dataset. | 
|  *     The result of data arrengment of data dimensions like: | 
|  *     | ser0_x | ser0_y | ser1_x | ser1_y | ser2_x | ser2_y | | 
|  * "category way": at least one axis is category axis. So the the first data | 
|  *     dimension is always mapped to the first category axis and shared by | 
|  *     all of the series. The other data dimensions are taken by series like | 
|  *     "value way" does. | 
|  *     The result of data arrengment of data dimensions like: | 
|  *     | ser_shared_x | ser0_y | ser1_y | ser2_y | | 
|  * | 
|  * @return encode Never be `null/undefined`. | 
|  */ | 
| export declare function makeSeriesEncodeForAxisCoordSys(coordDimensions: (DimensionName | CoordDimensionDefinition)[], seriesModel: SeriesModel, source: Source): SeriesEncodeInternal; | 
| /** | 
|  * Work for data like [{name: ..., value: ...}, ...]. | 
|  * | 
|  * @return encode Never be `null/undefined`. | 
|  */ | 
| export declare function makeSeriesEncodeForNameBased(seriesModel: SeriesModel, source: Source, dimCount: number): SeriesEncodeInternal; | 
| /** | 
|  * @return If return null/undefined, indicate that should not use datasetModel. | 
|  */ | 
| export declare function querySeriesUpstreamDatasetModel(seriesModel: SeriesEncodableModel): DatasetModel; | 
| /** | 
|  * @return Always return an array event empty. | 
|  */ | 
| export declare function queryDatasetUpstreamDatasetModels(datasetModel: DatasetModel): DatasetModel[]; | 
| /** | 
|  * The rule should not be complex, otherwise user might not | 
|  * be able to known where the data is wrong. | 
|  * The code is ugly, but how to make it neat? | 
|  */ | 
| export declare function guessOrdinal(source: Source, dimIndex: DimensionIndex): BeOrdinalValue; | 
| export {}; |