import { TDataLabelStyle } from "../../../../types/TDataLabelStyle";
import { SCRTDoubleVector, SCRTFont } from "../../../../types/TSciChart";
import { WebGlRenderContext2D } from "../../../Drawing/WebGlRenderContext2D";
import { RenderPassData } from "../../../Services/RenderPassData";
import { IRenderableSeries } from "../IRenderableSeries";
import { TDataLabel } from "./BaseDataLabelProvider";
export declare class DataLabelState {
    readonly style: TDataLabelStyle;
    readonly pointGap: number;
    readonly xValues: SCRTDoubleVector;
    readonly yValues: SCRTDoubleVector;
    readonly yFinalValues: SCRTDoubleVector;
    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;
    private indexProperty;
    private xCoordCache;
    private yCoordCache;
    constructor(renderContext: WebGlRenderContext2D, renderPassData: RenderPassData, style: TDataLabelStyle, color: string, yValues: SCRTDoubleVector, parentSeries: IRenderableSeries);
    get index(): number;
    set index(value: 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;
    private xCoordInternal;
    private yCoordInternal;
}
