import { Chart } from './chart'; export type ChartScaleElement = 'barSize' | 'barClusterGap' | 'bucketGap' | 'outerGap' | 'leftPadding' | 'rightPadding' | 'topPadding' | 'bottomPadding' | 'leftBucketLabel' | 'dataLabelPadding' | 'fontSize'; export type ChartScaleValues = { [K in ChartScaleElement]: number; }; export type ChartDataDirection = 'vertical' | 'horizontal'; export type FullChartScaleValues = ChartScaleValues & { totalWidth: number; totalHeight: number; sizeForData: number; totalLeftOffset: number; totalRightOffset: number; totalTopOffset: number; totalBottomOffset: number; dataLabelTextSize: number; horizontalAxisLabelTextSize: number; verticalAxisLabelTextSize: number; targetTickCount: number; chartDataDirection: ChartDataDirection; horizontalContainerScale: ContainerScalingType; verticalContainerScale: ContainerScalingType; }; export declare const emptyChartScaleValues: FullChartScaleValues; export type ElementScalingConfiguration = { min?: number; max?: number; target: number; }; export type DataScalingType = 'fit' | 'max' | 'custom'; export type DataScalingConfiguration = { type: Extract; } | { type: Extract; value: number; } | { type: Extract; ratio: { px: number; value: number; }; }; export type AxisScalingType = 'scale-to-fit' | 'grow' | 'shrink' | 'no-scale'; export type ContainerScalingType = 'shrink' | 'no-scale'; export type FullScalingConfig = { dataScale?: DataScalingConfiguration; elementScales?: PartialElementScalingConfig; horizontalAxisScale?: AxisScalingType; verticalAxisScale?: AxisScalingType; horizontalContainerScale?: ContainerScalingType; verticalContainerScale?: ContainerScalingType; targetTickCount?: number; }; export type NonElementScalingConfig = Omit<{ [K in keyof FullScalingConfig]-?: FullScalingConfig[K]; }, 'elementScales'>; export type PartialElementScalingConfig = { [K in ChartScaleElement]?: ElementScalingConfiguration; }; export type FullElementScalingConfig = { [K in ChartScaleElement]: ElementScalingConfiguration; }; export declare const DefaultBarElementScalingConfig: FullElementScalingConfig; export declare const DefaultBarWithSecondaryElementScalingConfig: FullElementScalingConfig; export declare const DefaultHorizontalBarElementScalingConfig: FullElementScalingConfig; export declare const DefaultHorizontalBarWithSecondaryElementScalingConfig: FullElementScalingConfig; export declare const DefaultLineElementScalingConfig: FullElementScalingConfig; export declare const DefaultFlowElementScalingConfig: FullElementScalingConfig; export declare const DefaultLineWithSecondaryElementScalingConfig: FullElementScalingConfig; export declare const DefaultVerticalNonElementScalingConfig: NonElementScalingConfig; export declare const DefaultHorizontalNonElementScalingConfig: NonElementScalingConfig; export type DefaultScalingConfig = { elementScales: FullElementScalingConfig; nonElementScales: NonElementScalingConfig; }; export declare function getDefaultScalingConfigByChartType(type: Exclude, hasSecondary: boolean): DefaultScalingConfig; type RadiusConfig = { type: 'proportion' | 'absolute'; value: number; }; export type DonutSizingConfig = { outerRadius?: RadiusConfig; drawRadius?: RadiusConfig; elementScales?: PartialElementScalingConfig; horizontalContainerScale?: ContainerScalingType; verticalContainerScale?: ContainerScalingType; }; export declare const DefaultDonutElementScalingConfig: FullElementScalingConfig; export declare const DEFAULT_OUTER_RADIUS_CONFIG: RadiusConfig; export declare const DEFAULT_DRAW_RADIUS_CONFIG: RadiusConfig; export declare const DefaultDonutSizingConfig: { outerRadius: RadiusConfig; drawRadius: RadiusConfig; elementScales: FullElementScalingConfig; horizontalContainerScale: ContainerScalingType; verticalContainerScale: ContainerScalingType; }; export {};