import { ChartType } from '../../../../../../types';
import { CartesianChartDataOptionsInternal } from '../../../chart-data-options/types';
import { CartesianChartData } from '../../../chart-data/types';
import { StackableChartDesignOptions } from '../../translations/design-options';
import { ChartDesignOptions } from '../../translations/types';
/**
 * Configuration for chart spacing calculations
 */
interface SpacingConfig {
    chartType: ChartType;
    chartData: CartesianChartData;
    chartDesignOptions: ChartDesignOptions;
    xAxisOrientation: 'horizontal' | 'vertical';
}
/**
 * Result of spacing calculations
 */
interface SpacingResult {
    totalTopSpacing: number;
    totalRightSpacing: number;
    rightShift: number;
    topShift: number;
}
/**
 * Get additional spacing around chart needed for the total labels based on the chart type and design options.
 */
export declare function getChartSpacingForTotalLabels(chartType: ChartType, chartDesignOptions: StackableChartDesignOptions): {
    rightSpacing: number;
    topSpacing: number;
};
/**
 * Calculate complete spacing configuration for a cartesian chart
 */
export declare function calculateChartSpacing(config: SpacingConfig): SpacingResult;
/**
 * Get additional legend settings based on the chart type and data options
 */
export declare function getAdditionalLegendSettings(chartType: ChartType, dataOptions: CartesianChartDataOptionsInternal, chartDesignOptions: ChartDesignOptions): {
    margin?: number;
} | undefined;
export type { SpacingConfig, SpacingResult };
