/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { drawing } from '@progress/kendo-drawing';
import { Border, FocusHighlight, Overlay, SeriesHighlight, SeriesStack, SeriesType, SeriesVisualArgs } from '../common/property-types';
import { Series } from '../option-types/series-item.interface';
import { SeriesDefaultsLabels } from './series-defaults/labels.interface';
import { SeriesDefaultsNotes } from './series-defaults/notes.interface';
import { SeriesDefaultsTooltip } from './series-defaults/tooltip.interface';
/**
 * The configuration options of the series.
 */
export interface SeriesDefaults {
    /**
     * Default settings for area series.
     */
    area?: Series;
    /**
     * Default settings for bar series.
     */
    bar?: Series;
    /**
     * Default settings for bubble series.
     */
    bubble?: Series;
    /**
     * Default settings for bullet series.
     */
    bullet?: Series;
    /**
     * Default settings for candlestick series.
     */
    candlestick?: Series;
    /**
     * Default settings for column series.
     */
    column?: Series;
    /**
     * Default settings for donut series.
     */
    donut?: Series;
    /**
     * Default settings for funnel series.
     */
    funnel?: Series;
    /**
     * Default settings for pyramid series.
     */
    pyramid?: Series;
    /**
     * Default settings for line series.
     */
    line?: Series;
    /**
     * Default settings for ohlc series.
     */
    ohlc?: Series;
    /**
     * Default settings for pie series.
     */
    pie?: Series;
    /**
     * Default settings for polarArea series.
     */
    polarArea?: Series;
    /**
     * Default settings for polarLine series.
     */
    polarLine?: Series;
    /**
     * Default settings for polarScatter series.
     */
    polarScatter?: Series;
    /**
     * Default settings for radarArea series.
     */
    radarArea?: Series;
    /**
     * Default settings for radarColumn series.
     */
    radarColumn?: Series;
    /**
     * Default settings for radarLine series.
     */
    radarLine?: Series;
    /**
     * Default settings for rangeArea series.
     */
    rangeArea?: Series;
    /**
     * Default settings for rangeBar series.
     */
    rangeBar?: Series;
    /**
     * Default settings for rangeColumn series.
     */
    rangeColumn?: Series;
    /**
     * Default settings for scatter series.
     */
    scatter?: Series;
    /**
     * Default settings for scatterLine series.
     */
    scatterLine?: Series;
    /**
     * Default settings for verticalArea series.
     */
    verticalArea?: Series;
    /**
     * Default settings for verticalBullet series.
     */
    verticalBullet?: Series;
    /**
     * Default settings for verticalLine series.
     */
    verticalLine?: Series;
    /**
     * Default settings for verticalRangeArea series.
     */
    verticalRangeArea?: Series;
    /**
     * Default settings for waterfall series.
     */
    waterfall?: Series;
    /**
     * The border of the series.
     */
    border?: Border;
    /**
     * The distance between category clusters.
     */
    gap?: number;
    /**
     * The default highlight configuration.
     */
    highlight?: SeriesHighlight;
    /**
     * The Chart series overlay options.
     */
    overlay?: Overlay;
    /**
     * The space between the Chart series as a proportion of the series width.
     * The `spacing` option is supported when [`series.type`]({% slug api_charts_series %}#toc-type) is set to `"bar"`, `"column"`, `"candlestick"`, `"ohlc"`,
     * and `"waterfall"`.
     */
    spacing?: number;
    /**
     * A Boolean value which indicates if the series has to be stacked.
     * The stack option is supported when [`series.type`]({% slug api_charts_series %}#toc-type) is set to `"bar"`, `"column"`, `"line"`, `"area"`,
     * `"verticalLine"`, `"verticalArea"`, `"radarLine"`, `"radarArea"`, and `"radarColumn"`.
     */
    stack?: boolean | string | SeriesStack;
    /**
     * The default type of the series.
     */
    type?: SeriesType;
    /**
     * A function for creating custom visuals for the points.
     * Applicable for the Bar and Column series.
     */
    visual?: (e: SeriesVisualArgs) => drawing.Element;
    /**
     * The label configuration of the Chart series.
     * The Chart displays the series labels when the [`seriesDefaults.labels.visible`]({% slug api_charts_seriesdefaultslabels %}#toc-visible) option is set to `true`.
     */
    labels?: SeriesDefaultsLabels;
    /**
     * The `seriesDefaults` notes configuration.
     */
    notes?: SeriesDefaultsNotes;
    /**
     * The configuration options of the Chart series tooltip.
     */
    tooltip?: SeriesDefaultsTooltip;
    /**
     * The focus highlight configuration options.
     */
    focusHighlight?: FocusHighlight;
}
