import type { TDataLabelStyle } from "../../../../types/TDataLabelStyle";
import type { SCRTDoubleVector, SCRTFont } from "../../../../types/TSciChart";
import type { WebGlRenderContext2D } from "../../../Drawing/WebGlRenderContext2D";
import type { RenderPassData } from "../../../Services/RenderPassData";
import type { IRenderableSeries } from "../IRenderableSeries";
import type { TDataLabel } from "./BaseDataLabelProvider";
export declare class DataLabelState {
    readonly style: TDataLabelStyle;
    readonly pointGap: number;
    readonly xValues: Float64Array;
    readonly yValues: Float64Array;
    readonly yFinalValues: Float64Array;
    readonly indexes: Float64Array;
    readonly font: SCRTFont;
    readonly parentSeries: IRenderableSeries;
    readonly renderPassData: RenderPassData;
    readonly isXFlipped: boolean;
    readonly isYFlipped: boolean;
    readonly pointCount: number;
    readonly xPadding: number;
    readonly yPadding: number;
    readonly color: number;
    readonly dataLabels: TDataLabel[];
    readonly indexStart: number;
    readonly indexEnd: number;
    readonly fifoSweeping: boolean;
    protected indexProperty: number;
    protected xCoordCache: number;
    protected yCoordCache: number;
    constructor(renderContext: WebGlRenderContext2D, renderPassData: RenderPassData, style: TDataLabelStyle, color: string, yValues: SCRTDoubleVector, parentSeries: IRenderableSeries);
    get index(): number;
    set index(value: number);
    getIndexInternal(index?: number): number;
    xVal(index?: number): number;
    yVal(index?: number): number;
    yValAfterAnimation(index?: number): number;
    xCoord(index?: number): number;
    yCoord(index?: number): number;
    hasNext(index?: number): boolean;
    get lastLabel(): TDataLabel;
    getMetaData(): import("../../../..").IPointMetadata;
    get isVerticalChart(): boolean;
    getXCoord(xValue: number): number;
    getYCoord(yValue: number): number;
    private xCoordInternal;
    private yCoordInternal;
}
