import { HashMap } from 'zrender/esm/core/util'; import Model from './Model'; import ComponentModel from './Component'; import SeriesModel from './Series'; import { Payload, OptionPreprocessor, ECOption, ECUnitOption, ComponentMainType, ComponentSubType, OptionId, OptionName } from '../util/types'; import OptionManager from './OptionManager'; import Scheduler from '../stream/Scheduler'; import { LocaleOption } from '../locale'; import { PaletteMixin } from './mixin/palette'; export interface GlobalModelSetOptionOpts { replaceMerge: ComponentMainType | ComponentMainType[]; } export interface InnerSetOptionOpts { replaceMergeMainTypeMap: HashMap; } declare class GlobalModel extends Model { option: ECUnitOption; private _theme; private _locale; private _optionManager; private _componentsMap; private _componentsCount; private _seriesIndices; private _seriesIndicesMap; private _payload; scheduler: Scheduler; init(option: ECOption, parentModel: Model, ecModel: GlobalModel, theme: object, locale: object, optionManager: OptionManager): void; setOption(option: ECOption, opts: GlobalModelSetOptionOpts, optionPreprocessorFuncs: OptionPreprocessor[]): void; resetOption(type: 'recreate' | 'timeline' | 'media', opt?: Pick): boolean; private _resetOption; mergeOption(option: ECUnitOption): void; private _mergeOption; getOption(): ECUnitOption; getTheme(): Model; getLocaleModel(): Model; getLocale(localePosition: Parameters['get']>[0]): any; setUpdatePayload(payload: Payload): void; getUpdatePayload(): Payload; getComponent(mainType: ComponentMainType, idx?: number): ComponentModel; queryComponents(condition: QueryConditionKindB): ComponentModel[]; findComponents(condition: QueryConditionKindA): ComponentModel[]; eachComponent(cb: EachComponentAllCallback, context?: T): void; eachComponent(mainType: string, cb: EachComponentInMainTypeCallback, context?: T): void; eachComponent(mainType: QueryConditionKindA, cb: EachComponentInMainTypeCallback, context?: T): void; getSeriesByName(name: OptionName): SeriesModel[]; getSeriesByIndex(seriesIndex: number): SeriesModel; getSeriesByType(subType: ComponentSubType): SeriesModel[]; getSeries(): SeriesModel[]; getSeriesCount(): number; eachSeries(cb: (this: T, series: SeriesModel, rawSeriesIndex: number) => void, context?: T): void; eachRawSeries(cb: (this: T, series: SeriesModel, rawSeriesIndex: number) => void, context?: T): void; eachSeriesByType(subType: ComponentSubType, cb: (this: T, series: SeriesModel, rawSeriesIndex: number) => void, context?: T): void; eachRawSeriesByType(subType: ComponentSubType, cb: (this: T, series: SeriesModel, rawSeriesIndex: number) => void, context?: T): void; isSeriesFiltered(seriesModel: SeriesModel): boolean; getCurrentSeriesIndices(): number[]; filterSeries(cb: (this: T, series: SeriesModel, rawSeriesIndex: number) => boolean, context?: T): void; restoreData(payload?: Payload): void; private static internalField; } export interface QueryConditionKindA { mainType: ComponentMainType; subType?: ComponentSubType; query?: { [k: string]: number | number[] | string | string[]; }; filter?: (cmpt: ComponentModel) => boolean; } export interface QueryConditionKindB { mainType: ComponentMainType; subType?: ComponentSubType; index?: number | number[]; id?: OptionId | OptionId[]; name?: OptionName | OptionName[]; } export interface EachComponentAllCallback { (mainType: string, model: ComponentModel, componentIndex: number): void; } interface EachComponentInMainTypeCallback { (model: ComponentModel, componentIndex: number): void; } interface GlobalModel extends PaletteMixin { } export default GlobalModel;