import type { TSciChart } from "../../../types/TSciChart";
import type { IThemeProvider } from "../../Themes/IThemeProvider";
import { BaseRenderableSeries } from "./BaseRenderableSeries";
import type { ILineSeriesDataLabelProviderOptions } from "./DataLabels/LineSeriesDataLabelProvider";
import type { IHitTestProvider } from "./HitTest/IHitTestProvider";
import type { IBaseRenderableSeriesOptions } from "./IBaseRenderableSeriesOptions";
import { ILineRenderableSeries } from "./ILineRenderableSeries";
import { ELineType } from "./types/ELineType";
export interface IBaseLineRenderableSeriesOptions extends IBaseRenderableSeriesOptions {
    /**
     * The StrokeDashArray defines the stroke or dash pattern for the line.
     * Accepts an array of values, e.g. [2,2] will have a line of length 2 and a gap of length 2.
     */
    strokeDashArray?: number[];
    /**
     * Options to pass to the {@link DataLabelProvider}. Set a style with font and size to enable per-point text for this series.
     */
    dataLabels?: ILineSeriesDataLabelProviderOptions;
    /**
     * The type of line to draw.  One of {@link ELineType}. Replaces isDigitalLine
     */
    lineType?: ELineType;
}
export declare abstract class BaseLineRenderableSeries extends BaseRenderableSeries implements ILineRenderableSeries {
    private strokeDashArrayProperty;
    private lineTypeProperty;
    constructor(webAssemblyContext: TSciChart, options?: IBaseLineRenderableSeriesOptions);
    protected addDrawingProviders(webAssemblyContext: TSciChart, options?: IBaseLineRenderableSeriesOptions): void;
    /** @inheritDoc */
    applyTheme(themeProvider: IThemeProvider): void;
    /**
     * The StrokeDashArray defines the stroke or dash pattern for the line.
     * Accepts an array of values, e.g. [2,2] will have a line of length 2 and a gap of length 2.
     */
    get strokeDashArray(): number[];
    /**
     * The StrokeDashArray defines the stroke or dash pattern for the line.
     * Accepts an array of values, e.g. [2,2] will have a line of length 2 and a gap of length 2.
     */
    set strokeDashArray(strokeDashArray: number[]);
    /**
     * The type of line to draw.  One of {@link ELineType}. Replaces isDigitalLine
     */
    get lineType(): ELineType;
    /**
     * The type of line to draw.  One of {@link ELineType}. Replaces isDigitalLine
     */
    set lineType(lineType: ELineType);
    /** @inheritDoc */
    toJSON(excludeData?: boolean): import("../../..").TSeriesDefinition;
    /**
     * @inheritDoc
     */
    protected newHitTestProvider(): IHitTestProvider;
}
