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 canvas texture rendering (drawTexture).
 * Used when {@link LabelProviderBase2D.useNativeText} is false (the default).
 */
export declare class TextureAxisRenderer extends AxisRenderer {
    private cachedModifierAxisLabelTexture;
    /** @inheritDoc */
    protected onBeginDrawLabels(renderContext: WebGlRenderContext2D, labelProvider: LabelProviderBase2D, labelStyle: TTextStyle): 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;
}
