| import { HashMap } from 'zrender/lib/core/util.js'; | 
| import { Task, TaskContext } from './task.js'; | 
| import GlobalModel from '../model/Global.js'; | 
| import ExtensionAPI from './ExtensionAPI.js'; | 
| import { StageHandlerInternal, StageHandlerOverallReset, StageHandler, Payload, StageHandlerReset, StageHandlerPlan, StageHandlerProgressExecutor, SeriesLargeOptionMixin, SeriesOption } from '../util/types.js'; | 
| import { EChartsType } from './echarts.js'; | 
| import SeriesModel from '../model/Series.js'; | 
| import ChartView from '../view/Chart.js'; | 
| import SeriesData from '../data/SeriesData.js'; | 
| export declare type GeneralTask = Task<TaskContext>; | 
| export declare type SeriesTask = Task<SeriesTaskContext>; | 
| export declare type OverallTask = Task<OverallTaskContext> & { | 
|     agentStubMap?: HashMap<StubTask>; | 
| }; | 
| export declare type StubTask = Task<StubTaskContext> & { | 
|     agent?: OverallTask; | 
| }; | 
| export declare type Pipeline = { | 
|     id: string; | 
|     head: GeneralTask; | 
|     tail: GeneralTask; | 
|     threshold: number; | 
|     progressiveEnabled: boolean; | 
|     blockIndex: number; | 
|     step: number; | 
|     count: number; | 
|     currentTask?: GeneralTask; | 
|     context?: PipelineContext; | 
| }; | 
| export declare type PipelineContext = { | 
|     progressiveRender: boolean; | 
|     modDataCount: number; | 
|     large: boolean; | 
| }; | 
| declare type PerformStageTaskOpt = { | 
|     block?: boolean; | 
|     setDirty?: boolean; | 
|     visualType?: StageHandlerInternal['visualType']; | 
|     dirtyMap?: HashMap<any>; | 
| }; | 
| export interface SeriesTaskContext extends TaskContext { | 
|     model?: SeriesModel; | 
|     data?: SeriesData; | 
|     view?: ChartView; | 
|     ecModel?: GlobalModel; | 
|     api?: ExtensionAPI; | 
|     useClearVisual?: boolean; | 
|     plan?: StageHandlerPlan; | 
|     reset?: StageHandlerReset; | 
|     scheduler?: Scheduler; | 
|     payload?: Payload; | 
|     resetDefines?: StageHandlerProgressExecutor[]; | 
| } | 
| interface OverallTaskContext extends TaskContext { | 
|     ecModel: GlobalModel; | 
|     api: ExtensionAPI; | 
|     overallReset: StageHandlerOverallReset; | 
|     scheduler: Scheduler; | 
|     payload?: Payload; | 
| } | 
| interface StubTaskContext extends TaskContext { | 
|     model: SeriesModel; | 
|     overallProgress: boolean; | 
| } | 
| declare class Scheduler { | 
|     readonly ecInstance: EChartsType; | 
|     readonly api: ExtensionAPI; | 
|     unfinished: boolean; | 
|     private _dataProcessorHandlers; | 
|     private _visualHandlers; | 
|     private _allHandlers; | 
|     private _stageTaskMap; | 
|     private _pipelineMap; | 
|     constructor(ecInstance: EChartsType, api: ExtensionAPI, dataProcessorHandlers: StageHandlerInternal[], visualHandlers: StageHandlerInternal[]); | 
|     restoreData(ecModel: GlobalModel, payload: Payload): void; | 
|     getPerformArgs(task: GeneralTask, isBlock?: boolean): { | 
|         step: number; | 
|         modBy: number; | 
|         modDataCount: number; | 
|     }; | 
|     getPipeline(pipelineId: string): Pipeline; | 
|     /** | 
|      * Current, progressive rendering starts from visual and layout. | 
|      * Always detect render mode in the same stage, avoiding that incorrect | 
|      * detection caused by data filtering. | 
|      * Caution: | 
|      * `updateStreamModes` use `seriesModel.getData()`. | 
|      */ | 
|     updateStreamModes(seriesModel: SeriesModel<SeriesOption & SeriesLargeOptionMixin>, view: ChartView): void; | 
|     restorePipelines(ecModel: GlobalModel): void; | 
|     prepareStageTasks(): void; | 
|     prepareView(view: ChartView, model: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI): void; | 
|     performDataProcessorTasks(ecModel: GlobalModel, payload?: Payload): void; | 
|     performVisualTasks(ecModel: GlobalModel, payload?: Payload, opt?: PerformStageTaskOpt): void; | 
|     private _performStageTasks; | 
|     performSeriesTasks(ecModel: GlobalModel): void; | 
|     plan(): void; | 
|     updatePayload(task: Task<SeriesTaskContext | OverallTaskContext>, payload: Payload | 'remain'): void; | 
|     private _createSeriesStageTask; | 
|     private _createOverallStageTask; | 
|     private _pipe; | 
|     static wrapStageHandler(stageHandler: StageHandler | StageHandlerOverallReset, visualType: StageHandlerInternal['visualType']): StageHandlerInternal; | 
| } | 
| export default Scheduler; |