import { ChartType, CompleteThemeSettingsInternal, TotalLabels } from '../../../../../../../types';
import { ChartDataOptionsInternal } from '../../../../chart-data-options/types';
import { Stacking } from '../../../chart-options-service';
import { AxisSettings } from '../../../translations/axis-section';
/**
 * Configuration interface for stacking transformer
 */
export interface StackingConfig {
    stacking?: Stacking;
    totalLabels?: TotalLabels;
    dataOptions: ChartDataOptionsInternal;
    themeSettings?: CompleteThemeSettingsInternal;
}
/**
 * Transformer that combines polar-specific axis transformations
 * Applies both top title positioning and removes label rotation
 */
export declare const withPolarSpecificAxisSettings: (axisSettings: AxisSettings[]) => AxisSettings[];
/**
 * Transformer that applies stacking-specific enhancements to Y-axis settings.
 * This transformer adds stacking-related properties (stack labels, total labels, formatting)
 * to basic Y-axis settings for stackable charts.
 *
 * @param config - Stacking configuration containing stacking type, totalLabels options and formatting options
 * @returns A function that transforms basic Y-axis settings to include stacking support
 *
 * @example
 * ```typescript
 * // Apply stacking enhancements to basic Y-axis
 * const stackedYAxis = flow(
 *   getYAxisSettings,
 *   withStacking({ stacking: 'normal', totalLabels: { enabled: true}, totalLabelRotation: 0, dataOptions, themeSettings }),
 * )(axis, axis2, axisMinMax, axis2MinMax, dataOptions, themeSettings);
 * ```
 */
export declare const withStacking: (config: StackingConfig) => (axisSettings: AxisSettings[]) => AxisSettings[];
/**
 * Applies chart-specific axis settings to the axis settings array
 *
 * @param chartType - Chart type
 * @param axisSettings - Array of axis settings
 * @returns Array of axis settings with chart-specific settings applied
 */
export declare const withChartSpecificAxisSettings: (chartType: ChartType) => (axisSettings: AxisSettings[]) => AxisSettings[];
