import type { IMarkLineLabelPosition } from './type';
import type { MarkLineAttrs, MarkerAnimationState } from './type';
import type { ComponentOptions } from '../interface';
import { MarkCommonLine } from './common-line';
import type { ArcSegment } from '../segment';
import { Segment } from '../segment';
import type { ILineGraphicAttribute } from '@visactor/vrender-core';
export declare function registerMarkLineAnimate(): void;
export declare class MarkLine extends MarkCommonLine<ILineGraphicAttribute, IMarkLineLabelPosition> {
    name: string;
    static defaultAttributes: Partial<MarkLineAttrs>;
    protected _line: Segment | ArcSegment;
    protected markerAnimate(state: MarkerAnimationState): void;
    constructor(attributes: MarkLineAttrs, options?: ComponentOptions);
    protected getPointAttrByPosition(position: IMarkLineLabelPosition): {
        position: {
            x: number;
            y: number;
        };
        angle: number;
    };
    protected getRotateByAngle(angle: number): number;
    protected getTextStyle(position: IMarkLineLabelPosition, labelAngle: number, autoRotate: boolean): {
        textAlign: string;
        textBaseline: string;
    };
    protected createSegment(): Segment;
    protected setLineAttributes(): void;
    protected isValidPoints(): boolean;
}
