import { BaseProperties } from 'ag-charts-core';
import type { AgAxisLabelFormatterParams, AgAxisLabelStylerParams, AgBaseAxisLabelStyleOptions, DateFormatterStyle, FontStyle, FontWeight, FormatterParams, Padding, RichFormatter, Styler, TextOrSegments, TextWrap } from 'ag-charts-types';
import type { ChartAxisLabel } from '../chartAxis';
import { LabelBorder } from '../label';
export declare class SeriesLabelProperties extends BaseProperties implements ChartAxisLabel {
    enabled: boolean;
    border: LabelBorder;
    cornerRadius?: number;
    fill?: string;
    fillOpacity?: number;
    fontStyle?: FontStyle;
    fontWeight?: FontWeight;
    fontSize: number;
    fontFamily: string;
    wrapping: TextWrap;
    truncate: boolean;
    /**
     * The padding between the labels and the ticks.
     */
    spacing: number;
    /**
     * Minimum gap in pixels between the axis labels before being removed to avoid collisions.
     */
    minSpacing?: number;
    /**
     * The colour of the labels.
     * Use `undefined` rather than `rgba(0, 0, 0, 0)` to make labels invisible.
     */
    color?: string;
    /**
     * Custom label rotation in degrees.
     */
    rotation?: number;
    /**
     * Avoid axis label collision by automatically reducing the number of ticks displayed. If set to `false`, axis labels may collide.
     */
    avoidCollisions: boolean;
    padding?: Padding;
    itemStyler?: Styler<AgAxisLabelStylerParams, AgBaseAxisLabelStyleOptions>;
    /**
     * In case {@param value} is a number, the {@param fractionDigits} parameter will
     * be provided as well. The `fractionDigits` corresponds to the number of fraction
     * digits used by the tick step. For example, if the tick step is `0.0005`,
     * the `fractionDigits` is 4.
     */
    formatter?: RichFormatter<AgAxisLabelFormatterParams>;
    format?: string | Record<string, string>;
    private _formatters;
    formatValue(callWithContext: (formatter: (params: AgAxisLabelFormatterParams) => TextOrSegments | undefined, params: AgAxisLabelFormatterParams) => TextOrSegments | undefined, params: FormatterParams<any>, index: number, options?: {
        specifier?: string | Record<string, string>;
        dateStyle: DateFormatterStyle;
        truncateDate: 'year' | 'month' | 'day' | undefined;
    }): TextOrSegments | undefined;
}
