import { ComponentTypeEnum } from '../interface/type';
import { BaseComponent } from '../base/base-component';
import type { IRegion } from '../../region/interface';
import type { IIndicator, IIndicatorSpec } from './interface';
import type { Maybe } from '../../typings';
import type { IModelSpecInfo } from '../../model/interface';
import { Indicator as IndicatorComponents } from '@visactor/vrender-components';
import type { IGraphic } from '@visactor/vrender-core';
export declare class Indicator<T extends IIndicatorSpec> extends BaseComponent<T> implements IIndicator {
    static type: ComponentTypeEnum;
    type: ComponentTypeEnum;
    name: string;
    static specKey: string;
    specKey: string;
    layoutType: 'none';
    layoutZIndex: number;
    layoutLevel: number;
    private _gap;
    private _activeDatum;
    private _displayData;
    private _title;
    private _content;
    private _indicatorComponent;
    private _cacheAttrs;
    static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]>;
    created(): void;
    setAttrFromSpec(): void;
    onRender(ctx: any): void;
    changeRegions(regions: IRegion[]): void;
    protected initEvent(): void;
    updateDatum(datum: any): void;
    private initData;
    updateLayoutAttribute(): void;
    private _getIndicatorAttrs;
    private _createOrUpdateIndicatorComponent;
    private _createText;
    private _computeLayoutRadius;
    private isRelativeModel;
    protected _getNeedClearVRenderComponents(): IGraphic[];
    clear(): void;
    getIndicatorComponent(): IndicatorComponents;
}
export declare const registerIndicator: () => void;
