import { AreamapChartDesignOptions } from '../../../../../domains/visualizations/components/chart/restructured-charts/areamap-chart/types';
import { StreamgraphChartDesignOptions } from '../../../../../domains/visualizations/components/chart/restructured-charts/highchart-based-charts/cartesians/stackable/streamgraph-chart/types';
import { ChartType } from '../../../../../types';
import { AreaChartDesignOptions, AreaRangeChartDesignOptions, BarChartDesignOptions, BaseDesignOptionsType, BoxplotChartDesignOptions, CalendarHeatmapChartDesignOptions, ColumnChartDesignOptions, FunnelChartDesignOptions, IndicatorChartDesignOptions, LineChartDesignOptions, PieChartDesignOptions, PolarChartDesignOptions, ScatterChartDesignOptions, ScattermapChartDesignOptions, SunburstChartDesignOptions, TreemapChartDesignOptions } from './design-options';
/**
 * Style configuration for text elements in charts and UI components.
 * Defines the visual appearance and behavior of text rendering.
 */
export type TextStyle = {
    /**
     * Font family name for the text.
     * Examples: 'Arial', 'Helvetica', 'Times New Roman', 'sans-serif'
     */
    fontFamily?: string;
    /**
     * Font size in CSS units (px, em, rem, pt, etc.).
     * Examples: '12px', '1.2em', '16pt'
     */
    fontSize?: string;
    /**
     * Font weight for text rendering.
     * Examples: 'normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900'
     */
    fontWeight?: string;
    /**
     * Font style for text rendering.
     * Examples: 'normal', 'italic', 'oblique'
     */
    fontStyle?: string;
    /**
     * Text color in any valid CSS color format.
     * Examples: '#FF0000', 'rgb(255, 0, 0)', 'red', 'rgba(255, 0, 0, 0.5)'
     */
    color?: string;
    /**
     * Text outline/stroke configuration.
     * Defines the outline color and width for text rendering.
     * Examples: '1px solid black', '2px #333'
     */
    textOutline?: string;
    /**
     * CSS pointer-events property for text interaction.
     * Controls how the text responds to mouse events.
     * Examples: 'auto', 'none', 'visible', 'visibleFill', 'visibleStroke'
     */
    pointerEvents?: string;
    /**
     * Text overflow handling behavior.
     * Controls how text is displayed when it exceeds its container.
     * Examples: 'clip', 'ellipsis', 'visible', 'hidden'
     */
    textOverflow?: string;
};
export declare const POLAR_CHART_TYPES: readonly ["polar"];
export type PolarChartType = (typeof POLAR_CHART_TYPES)[number];
export declare const CARTESIAN_CHART_TYPES: readonly ["line", "area", "bar", "column", "streamgraph", "polar"];
/** Cartesian family of chart types @expandType */
export type CartesianChartType = (typeof CARTESIAN_CHART_TYPES)[number];
export declare const CATEGORICAL_CHART_TYPES: readonly ["pie", "funnel", "treemap", "sunburst"];
/** Categorical family of chart types  @expandType */
export type CategoricalChartType = (typeof CATEGORICAL_CHART_TYPES)[number];
export declare const SCATTER_CHART_TYPES: readonly ["scatter"];
/** Scatter chart types  @expandType */
export type ScatterChartType = (typeof SCATTER_CHART_TYPES)[number];
export declare const TABLE_TYPES: readonly ["table"];
/** Table chart types @expandType */
export type TableChartType = (typeof TABLE_TYPES)[number];
/** Table chart types @expandType */
export type TableType = TableChartType;
declare const INDICATOR_CHART_TYPES: readonly ["indicator"];
/** Indicator chart types @expandType */
export type IndicatorChartType = (typeof INDICATOR_CHART_TYPES)[number];
export declare const BOXPLOT_CHART_TYPES: readonly ["boxplot"];
/** Boxplot chart types  @expandType */
export type BoxplotChartType = (typeof BOXPLOT_CHART_TYPES)[number];
export declare const AREAMAP_CHART_TYPES: readonly ["areamap"];
/** Areamap chart types @expandType */
export type AreamapChartType = (typeof AREAMAP_CHART_TYPES)[number];
declare const IMAGE_CHART_TYPES: readonly ["image"];
export type ImageChartType = (typeof IMAGE_CHART_TYPES)[number];
export declare const SCATTERMAP_CHART_TYPES: readonly ["scattermap"];
/** Scattermap chart types  @expandType */
export type ScattermapChartType = (typeof SCATTERMAP_CHART_TYPES)[number];
export declare const CALENDAR_HEATMAP_CHART_TYPES: readonly ["calendar-heatmap"];
/**
 * Calendar heatmap chart types
 *
 * @expandType
 */
export type CalendarHeatmapChartType = (typeof CALENDAR_HEATMAP_CHART_TYPES)[number];
export declare const RANGE_CHART_TYPES: readonly ["arearange"];
/** AreaRange chart types  @expandType */
export type RangeChartType = (typeof RANGE_CHART_TYPES)[number];
export type ChartDataType = 'cartesian' | 'categorical' | 'scatter' | 'table' | 'indicator' | 'areamap' | 'arearange';
/**
 * Design options for a specific chart type
 */
export type DesignOptions<SpecificChartType extends ChartType = ChartType> = SpecificChartType extends 'line' ? LineChartDesignOptions : SpecificChartType extends 'area' ? AreaChartDesignOptions : SpecificChartType extends 'bar' ? BarChartDesignOptions : SpecificChartType extends 'column' ? ColumnChartDesignOptions : SpecificChartType extends 'streamgraph' ? StreamgraphChartDesignOptions : SpecificChartType extends 'pie' ? PieChartDesignOptions : SpecificChartType extends 'funnel' ? FunnelChartDesignOptions : SpecificChartType extends 'polar' ? PolarChartDesignOptions : SpecificChartType extends 'indicator' ? IndicatorChartDesignOptions : SpecificChartType extends 'scatter' ? ScatterChartDesignOptions : SpecificChartType extends 'treemap' ? TreemapChartDesignOptions : SpecificChartType extends 'sunburst' ? SunburstChartDesignOptions : SpecificChartType extends 'boxplot' ? BoxplotChartDesignOptions : SpecificChartType extends 'areamap' ? AreamapChartDesignOptions : SpecificChartType extends 'scattermap' ? ScattermapChartDesignOptions : SpecificChartType extends 'calendar-heatmap' ? CalendarHeatmapChartDesignOptions : SpecificChartType extends 'arearange' ? AreaRangeChartDesignOptions : never;
/** A unique identifier for a series to be found in {@link ChartDataOptionsInternal} */
type SeriesId = string;
/**
 * Design options for a chart.
 * This includes global design options and specific design options per series.
 */
export type ChartDesignOptions<SpecificChartType extends ChartType = ChartType> = DesignOptions<SpecificChartType>;
/**
 * Design options, limited to the only series relevant options.
 *
 * @internal
 */
export type SeriesDesignOptions = Pick<BaseDesignOptionsType, 'marker'> & Pick<LineChartDesignOptions, 'line'>;
export type DesignPerSeries = {
    designPerSeries: Record<SeriesId, SeriesDesignOptions>;
};
export declare const isCartesian: (chartType: ChartType) => chartType is "line" | "area" | "bar" | "column" | "streamgraph" | "polar";
export declare const isCategorical: (chartType: ChartType) => chartType is "pie" | "funnel" | "treemap" | "sunburst";
export declare const isScatter: (chartType: ChartType) => chartType is "scatter";
export declare const isScattermap: (chartType: ChartType) => chartType is "scattermap";
export declare const isIndicator: (chartType: ChartType) => chartType is "indicator";
export declare const isPolar: (chartType: ChartType) => chartType is "polar";
export declare const isTable: (chartType: ChartType | TableType) => chartType is "table";
export declare const isBoxplot: (chartType: ChartType) => chartType is "boxplot";
export declare const isAreamap: (chartType: ChartType) => chartType is "areamap";
export declare const isRange: (chartType: ChartType) => chartType is "arearange";
export declare const isCalendarHeatmap: (chartType: ChartType) => chartType is "calendar-heatmap";
export declare const ALL_CHART_TYPES: readonly ["line", "area", "bar", "column", "streamgraph", "polar", "pie", "funnel", "treemap", "sunburst", "scatter", "table", "indicator", "boxplot", "areamap", "image", "scattermap", "calendar-heatmap", "arearange"];
export type DynamicChartType = (typeof ALL_CHART_TYPES)[number];
export {};
