/// <reference types="web" />
/// <reference types="react" resolution-mode="require"/>
import { View } from '../../chart/view.js';
import { ShapeOptions } from '../../types/index.js';
export declare type ShapeCtor = new (view: View, opt: unknown) => Shape | PolarShape;
export declare abstract class Shape<T = unknown> {
    readonly type: string;
    protected option: ShapeOptions;
    /** 是否连接空值 */
    connectNulls: boolean;
    mapName: string;
    ctrl: View;
    abstract map(name: string): T;
    abstract getSeries(): any;
    constructor(ctrl: View, opt?: ShapeOptions);
    getData(): import("../../types/options.js").Data;
    getBaseSeries(): {
        spanGaps: boolean;
        points: {
            show: import("uplot").Series.Points.Show;
            paths?: import("uplot").Series.Points.PathBuilder;
            filter?: import("uplot").Series.Points.Filter;
            size?: number;
            space?: number;
            width?: number;
            stroke?: import("uplot").Series.Stroke;
            dash?: number[];
            cap?: CanvasLineCap;
            fill?: import("uplot").Series.Fill;
        };
    };
    getOptions(): {};
    destroy(): void;
}
export declare abstract class PolarShape<T = unknown> {
    readonly type: string;
    protected option: T;
    ctrl: View;
    container: d3.Selection<SVGGElement, unknown, null, undefined>;
    abstract init(): void;
    abstract render(): void;
    abstract redraw(): void;
    constructor(ctrl: View, opt?: {});
    getData(): import("../../types/options.js").Data;
    destroy(): void;
}
