import * as clazzUtil from '../util/clazz.js'; 
 | 
import SeriesModel from '../model/Series.js'; 
 | 
import GlobalModel from '../model/Global.js'; 
 | 
import ExtensionAPI from '../core/ExtensionAPI.js'; 
 | 
import Element from 'zrender/lib/Element.js'; 
 | 
import { Payload, ViewRootGroup, ECActionEvent, EventQueryItem, StageHandlerProgressParams, ECElementEvent } from '../util/types.js'; 
 | 
import { SeriesTask } from '../core/Scheduler.js'; 
 | 
interface ChartView { 
 | 
    /** 
 | 
     * Rendering preparation in progressive mode. 
 | 
     * Implement it if needed. 
 | 
     */ 
 | 
    incrementalPrepareRender(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; 
 | 
    /** 
 | 
     * Render in progressive mode. 
 | 
     * Implement it if needed. 
 | 
     * @param params See taskParams in `stream/task.js` 
 | 
     */ 
 | 
    incrementalRender(params: StageHandlerProgressParams, seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; 
 | 
    /** 
 | 
     * Update transform directly. 
 | 
     * Implement it if needed. 
 | 
     */ 
 | 
    updateTransform(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void | { 
 | 
        update: true; 
 | 
    }; 
 | 
    /** 
 | 
     * The view contains the given point. 
 | 
     * Implement it if needed. 
 | 
     */ 
 | 
    containPoint(point: number[], seriesModel: SeriesModel): boolean; 
 | 
    /** 
 | 
     * Pass only when return `true`. 
 | 
     * Implement it if needed. 
 | 
     */ 
 | 
    filterForExposedEvent(eventType: string, query: EventQueryItem, targetEl: Element, packedEvent: ECActionEvent | ECElementEvent): boolean; 
 | 
} 
 | 
declare class ChartView { 
 | 
    type: string; 
 | 
    readonly group: ViewRootGroup; 
 | 
    readonly uid: string; 
 | 
    readonly renderTask: SeriesTask; 
 | 
    /** 
 | 
     * Ignore label line update in global stage. Will handle it in chart itself. 
 | 
     * Used in pie / funnel 
 | 
     */ 
 | 
    ignoreLabelLineUpdate: boolean; 
 | 
    __alive: boolean; 
 | 
    __model: SeriesModel; 
 | 
    __id: string; 
 | 
    static protoInitialize: void; 
 | 
    constructor(); 
 | 
    init(ecModel: GlobalModel, api: ExtensionAPI): void; 
 | 
    render(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; 
 | 
    /** 
 | 
     * Highlight series or specified data item. 
 | 
     */ 
 | 
    highlight(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; 
 | 
    /** 
 | 
     * Downplay series or specified data item. 
 | 
     */ 
 | 
    downplay(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; 
 | 
    /** 
 | 
     * Remove self. 
 | 
     */ 
 | 
    remove(ecModel: GlobalModel, api: ExtensionAPI): void; 
 | 
    /** 
 | 
     * Dispose self. 
 | 
     */ 
 | 
    dispose(ecModel: GlobalModel, api: ExtensionAPI): void; 
 | 
    updateView(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; 
 | 
    updateLayout(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; 
 | 
    updateVisual(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; 
 | 
    /** 
 | 
     * Traverse the new rendered elements. 
 | 
     * 
 | 
     * It will traverse the new added element in progressive rendering. 
 | 
     * And traverse all in normal rendering. 
 | 
     */ 
 | 
    eachRendered(cb: (el: Element) => boolean | void): void; 
 | 
    static markUpdateMethod(payload: Payload, methodName: keyof ChartView): void; 
 | 
    static registerClass: clazzUtil.ClassManager['registerClass']; 
 | 
} 
 | 
export declare type ChartViewConstructor = typeof ChartView & clazzUtil.ExtendableConstructor & clazzUtil.ClassManager; 
 | 
export default ChartView; 
 |