import type { IArc, IGroup } from '@visactor/vrender-core';
import { Tag } from '../tag';
import { Marker } from './base';
import type { CommonMarkAreaAnimationType, MarkerAnimationState } from './type';
import { IMarkCommonArcLabelPosition, type MarkArcAreaAttrs } from './type';
import type { ComponentOptions } from '../interface';
export declare function registerMarkArcAreaAnimate(): void;
export declare class MarkArcArea extends Marker<MarkArcAreaAttrs, CommonMarkAreaAnimationType> {
    name: string;
    static defaultAttributes: {
        interactive: boolean;
        label: {
            position: IMarkCommonArcLabelPosition;
            textStyle: {
                fill: string;
                stroke: string;
                lineWidth: number;
                fontSize: number;
                fontWeight: string;
                fontStyle: string;
            };
            padding: number[];
            panel: {
                visible: boolean;
                cornerRadius: number;
                fill: string;
                fillOpacity: number;
            };
        };
        areaStyle: {
            fill: string;
            visible: boolean;
        };
    };
    private _area;
    defaultUpdateAnimation: never;
    defaultExitAnimation: import("./type").MarkerExitAnimation;
    protected markerAnimate(state: MarkerAnimationState): void;
    getArea(): IArc;
    getLabel(): Tag;
    constructor(attributes: MarkArcAreaAttrs, options?: ComponentOptions);
    protected getPointAttrByPosition(position: IMarkCommonArcLabelPosition): {
        position: {
            x: number;
            y: number;
        };
        angle: number;
    };
    protected setLabelPos(): void;
    protected initMarker(container: IGroup): void;
    protected updateMarker(): void;
    protected isValidPoints(): boolean;
}
