import type { Rect } from "../../../Core/Rect";
import type { Thickness } from "../../../Core/Thickness";
import type { WebGlRenderContext2D } from "../../Drawing/WebGlRenderContext2D";
import type { TTextStyle } from "./AxisCore";
import { AxisRenderer } from "./AxisRenderer";
import type { LabelInfo, LabelProviderBase2D } from "./LabelProvider/LabelProviderBase2D";
/**
 * AxisRenderer subclass that uses native WASM font rendering (DrawStringAdvanced).
 * Used when {@link LabelProviderBase2D.useNativeText} is true.
 */
export declare class NativeAxisRenderer extends AxisRenderer {
    private nativeFont;
    private textBounds;
    private mlaNative;
    private nativeLineSpacing;
    private modifierNativeFont;
    private modifierTextBounds;
    private modifierLineSpacing;
    /** @inheritDoc */
    protected onBeginDrawLabels(renderContext: WebGlRenderContext2D, labelProvider: LabelProviderBase2D, labelStyle: TTextStyle): number;
    /** @inheritDoc */
    protected measureLabels(tickLabels: string[], labelProvider: LabelProviderBase2D, ctx: CanvasRenderingContext2D, labelStyle: TTextStyle, labelInfos?: LabelInfo[]): {
        labelHeights: number[];
        labelWidths: number[];
    };
    /** @inheritDoc */
    protected drawSingleLabel(renderContext: WebGlRenderContext2D, labelProvider: LabelProviderBase2D, labelText: string, labelInfo: LabelInfo | undefined, xCoord: number, yCoord: number, tickCoord: number, labelWidth: number, labelHeight: number, index: number, labelStyle: TTextStyle, clipRect: Rect, isHorizontal: boolean): void;
    /** @inheritDoc */
    protected measureModifierAxisLabel(renderContext: WebGlRenderContext2D, displayValue: string, textStyle: TTextStyle, _fill: string, effectivePadding: Thickness, _cornerRadius?: number): {
        textureWidth: number;
        textureHeight: number;
    };
    /** @inheritDoc */
    protected drawModifierAxisLabelSpecific(renderContext: WebGlRenderContext2D, displayValue: string, textStyle: TTextStyle, fill: string, effectivePadding: Thickness, cornerRadius: number | undefined, xPosition: number, yPosition: number, textureWidth: number, textureHeight: number, _clipRect: Rect): void;
    /** @inheritDoc */
    protected onEndDrawLabels(): void;
}
