import type { DataLabelsOptions } from '@sisense/sisense-charts';
import { HighchartsGradientColorObject } from '../../../../../shared/utils/gradient';
import { NumberFormatConfig, SeriesLabels } from '../../../../../types';
import { AxisOrientation } from './axis-section.js';
import { PolarType } from './design-options.js';
import { HighchartsDataPointContext } from './tooltip-utils.js';
import { TextStyle } from './types.js';
export type ValueLabelOptions = {
    enabled?: boolean;
    rotation?: number;
    showValue?: boolean;
    showPercentage?: boolean;
};
export type RotationType = 'horizontal' | 'diagonal' | 'vertical';
export type DataLabelsSettings = {
    enabled?: boolean;
    align?: string;
    inside?: boolean;
    crop?: boolean;
    rotation?: number;
    y?: number;
    x?: number;
    style?: TextStyle;
    overflow?: string;
    allowOverlap?: boolean;
    verticalAlign?: 'bottom' | 'middle' | 'top';
    padding?: number;
    color?: 'contrast' | string;
    backgroundColor?: string | HighchartsGradientColorObject;
    borderColor?: string | HighchartsGradientColorObject;
    borderRadius?: number;
    borderWidth?: number;
    animation?: {
        defer?: boolean | number;
    };
    types?: {
        count: boolean;
        relative: boolean;
        totals: boolean;
    };
    formatter?: (this: HighchartsDataPointContext, options?: DataLabelsOptions, valuePropName?: string) => string;
};
export declare const createDataLabelsFormatter: (numberFormatConfig?: NumberFormatConfig, options?: SeriesLabels) => (this: HighchartsDataPointContext) => string;
export declare const getRotationType: (rotation: number) => RotationType;
export declare const getDataLabelsSettings: (xAxisOrientation: AxisOrientation, seriesLabels?: SeriesLabels, inside?: boolean) => DataLabelsSettings;
export declare const getPolarDataLabelsSettings: (seriesLabels: SeriesLabels | undefined, polarType: PolarType) => DataLabelsSettings;
