import * as clazzUtil from '../util/clazz.js'; 
 | 
import ComponentModel from '../model/Component.js'; 
 | 
import GlobalModel from '../model/Global.js'; 
 | 
import ExtensionAPI from '../core/ExtensionAPI.js'; 
 | 
import { Payload, ViewRootGroup, ECActionEvent, EventQueryItem, ECElementEvent } from '../util/types.js'; 
 | 
import Element from 'zrender/lib/Element.js'; 
 | 
import SeriesModel from '../model/Series.js'; 
 | 
interface ComponentView { 
 | 
    /** 
 | 
     * Implement it if needed. 
 | 
     */ 
 | 
    updateTransform?(model: ComponentModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void | { 
 | 
        update: true; 
 | 
    }; 
 | 
    /** 
 | 
     * Pass only when return `true`. 
 | 
     * Implement it if needed. 
 | 
     */ 
 | 
    filterForExposedEvent(eventType: string, query: EventQueryItem, targetEl: Element, packedEvent: ECActionEvent | ECElementEvent): boolean; 
 | 
    /** 
 | 
     * Find dispatchers for highlight/downplay by name. 
 | 
     * If this methods provided, hover link (within the same name) is enabled in component. 
 | 
     * That is, in component, a name can correspond to multiple dispatchers. 
 | 
     * Those dispatchers can have no common ancestor. 
 | 
     * The highlight/downplay state change will be applied on the 
 | 
     * dispatchers and their descendents. 
 | 
     * 
 | 
     * @return Must return an array but not null/undefined. 
 | 
     */ 
 | 
    findHighDownDispatchers?(name: string): Element[]; 
 | 
    focusBlurEnabled?: boolean; 
 | 
} 
 | 
declare class ComponentView { 
 | 
    readonly group: ViewRootGroup; 
 | 
    readonly uid: string; 
 | 
    __model: ComponentModel; 
 | 
    __alive: boolean; 
 | 
    __id: string; 
 | 
    constructor(); 
 | 
    init(ecModel: GlobalModel, api: ExtensionAPI): void; 
 | 
    render(model: ComponentModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; 
 | 
    dispose(ecModel: GlobalModel, api: ExtensionAPI): void; 
 | 
    updateView(model: ComponentModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; 
 | 
    updateLayout(model: ComponentModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; 
 | 
    updateVisual(model: ComponentModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void; 
 | 
    /** 
 | 
     * Hook for toggle blur target series. 
 | 
     * Can be used in marker for blur or leave blur the markers 
 | 
     */ 
 | 
    toggleBlurSeries(seriesModels: SeriesModel[], isBlur: boolean, ecModel: GlobalModel): 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 registerClass: clazzUtil.ClassManager['registerClass']; 
 | 
} 
 | 
export declare type ComponentViewConstructor = typeof ComponentView & clazzUtil.ExtendableConstructor & clazzUtil.ClassManager; 
 | 
export default ComponentView; 
 |