import { Point } from "../../../../Core/Point"; import { EDataLabelProviderType } from "../../../../types/DataLabelProviderType"; import type { TDataLabelStyle } from "../../../../types/TDataLabelStyle"; import type { EHorizontalTextPosition, EVerticalTextPosition } from "../../../../types/TextPosition"; import type { SCRTDoubleVector, TSRTextBounds } from "../../../../types/TSciChart"; import type { WebGlRenderContext2D } from "../../../Drawing/WebGlRenderContext2D"; import type { RenderPassData } from "../../../Services/RenderPassData"; import type { IRenderableSeries } from "../IRenderableSeries"; import type { IDataLabelProviderOptions } from "./DataLabelProvider"; import { DataLabelProvider } from "./DataLabelProvider"; import type { DataLabelState } from "./DataLabelState"; import { RectangleDataLabelState } from "./RectangleDataLabelState"; export interface IRectangleSeriesDataLabelProviderOptions extends IDataLabelProviderOptions { /** Not used for FastRectangleRenderableSeries */ horizontalTextPosition?: EHorizontalTextPosition; /** Not used for FastRectangleRenderableSeries */ verticalTextPosition?: EVerticalTextPosition; } export declare class RectangleSeriesDataLabelProvider extends DataLabelProvider { readonly type: EDataLabelProviderType; constructor(options?: IRectangleSeriesDataLabelProviderOptions); /** @inheritDoc */ getDataLabelState(renderContext: WebGlRenderContext2D, renderPassData: RenderPassData, style: TDataLabelStyle, color: string, yValues: SCRTDoubleVector, parentSeries: IRenderableSeries): DataLabelState; /** @inheritDoc */ getPosition(state: RectangleDataLabelState, textBounds: TSRTextBounds): { position: Point; rotationCenter: Point; rotationAngle: number; }; /** @inheritDoc */ toJSON(): { type: EDataLabelProviderType; options: { style: TDataLabelStyle; color: string; }; }; } /** Registers {@link RectangleSeriesDataLabelProvider} for `EDataLabelProviderType.Rectangle` definitions. */ export declare function registerRectangleDataLabelProvider(overWrite?: boolean): void;