import { DimensionDefinitionLoose, OptionEncode, OptionEncodeValue, EncodeDefaulter, OptionSourceData, DimensionName, DimensionDefinition, DataVisualDimensions, DimensionIndex } from '../../util/types.js'; 
 | 
import SeriesDimensionDefine from '../SeriesDimensionDefine.js'; 
 | 
import { HashMap } from 'zrender/lib/core/util.js'; 
 | 
import OrdinalMeta from '../OrdinalMeta.js'; 
 | 
import { Source } from '../Source.js'; 
 | 
import { SeriesDataSchema } from './SeriesDataSchema.js'; 
 | 
export interface CoordDimensionDefinition extends DimensionDefinition { 
 | 
    dimsDef?: (DimensionName | { 
 | 
        name: DimensionName; 
 | 
        defaultTooltip?: boolean; 
 | 
    })[]; 
 | 
    otherDims?: DataVisualDimensions; 
 | 
    ordinalMeta?: OrdinalMeta; 
 | 
    coordDim?: DimensionName; 
 | 
    coordDimIndex?: DimensionIndex; 
 | 
} 
 | 
export declare type CoordDimensionDefinitionLoose = CoordDimensionDefinition['name'] | CoordDimensionDefinition; 
 | 
export declare type PrepareSeriesDataSchemaParams = { 
 | 
    coordDimensions?: CoordDimensionDefinitionLoose[]; 
 | 
    /** 
 | 
     * Will use `source.dimensionsDefine` if not given. 
 | 
     */ 
 | 
    dimensionsDefine?: DimensionDefinitionLoose[]; 
 | 
    /** 
 | 
     * Will use `source.encodeDefine` if not given. 
 | 
     */ 
 | 
    encodeDefine?: HashMap<OptionEncodeValue, DimensionName> | OptionEncode; 
 | 
    dimensionsCount?: number; 
 | 
    /** 
 | 
     * Make default encode if user not specified. 
 | 
     */ 
 | 
    encodeDefaulter?: EncodeDefaulter; 
 | 
    generateCoord?: string; 
 | 
    generateCoordCount?: number; 
 | 
    /** 
 | 
     * If be able to omit unused dimension 
 | 
     * Used to improve the performance on high dimension data. 
 | 
     */ 
 | 
    canOmitUnusedDimensions?: boolean; 
 | 
}; 
 | 
/** 
 | 
 * For outside usage compat (like echarts-gl are using it). 
 | 
 */ 
 | 
export declare function createDimensions(source: Source | OptionSourceData, opt?: PrepareSeriesDataSchemaParams): SeriesDimensionDefine[]; 
 | 
/** 
 | 
 * This method builds the relationship between: 
 | 
 * + "what the coord sys or series requires (see `coordDimensions`)", 
 | 
 * + "what the user defines (in `encode` and `dimensions`, see `opt.dimensionsDefine` and `opt.encodeDefine`)" 
 | 
 * + "what the data source provids (see `source`)". 
 | 
 * 
 | 
 * Some guess strategy will be adapted if user does not define something. 
 | 
 * If no 'value' dimension specified, the first no-named dimension will be 
 | 
 * named as 'value'. 
 | 
 * 
 | 
 * @return The results are always sorted by `storeDimIndex` asc. 
 | 
 */ 
 | 
export default function prepareSeriesDataSchema(source: Source | OptionSourceData, opt?: PrepareSeriesDataSchemaParams): SeriesDataSchema; 
 |