/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { AxisLine, AxisTicks, GridLines, PlotBand } from '../common/property-types';
import { AxisDefaultsCrosshair } from './axis-defaults/crosshair.interface';
import { AxisDefaultsLabels } from './axis-defaults/labels.interface';
import { AxisDefaultsTitle } from './axis-defaults/title.interface';
/**
 * Represents the configuration options of the axis.
 */
export interface AxisDefaults {
    /**
     * Specifies the background color of the axis.
     */
    background?: string;
    /**
     * Specifies the color to apply to all axis elements. Accepts a valid CSS color string, including HEX and RGB.
     */
    color?: string;
    /**
     * Specifies the configuration of the axis lines. Also affects the major and minor ticks, but not the grid lines.
     */
    line?: AxisLine;
    /**
     * Specifies the configuration of the major grid lines.
     * These are the lines that are an extension of the major ticks through the body of the Chart.
     */
    majorGridLines?: GridLines;
    /**
     * Specifies the configuration of the axis major ticks.
     */
    majorTicks?: AxisTicks;
    /**
     * Specifies the configuration of the minor grid lines.
     * These are the lines that are an extension of the minor ticks through the body of the Chart.
     */
    minorGridLines?: GridLines;
    /**
     * Specifies the configuration of the axis minor ticks.
     */
    minorTicks?: AxisTicks;
    /**
     * Determines whether the Chart prevents the axis range from snapping to zero.
     * When set to `true`, the Chart prevents the axis range from snapping to zero.
     * Setting it to `false`, forces the axis range to snap to zero.
     */
    narrowRange?: boolean;
    /**
     * Specifies the name of the pane in which the axis has to be rendered.
     * If not set, the axis will be rendered in the first (default) pane.
     */
    pane?: string;
    /**
     * Specifies the plot bands of the axis.
     */
    plotBands?: PlotBand[];
    /**
     * Determines whether the axis direction is reversed.
     * When set to `true`, the axis direction is reversed. By default, categories are listed from left to
     * right and from bottom to top.
     */
    reverse?: boolean;
    /**
     * Specifies the angle (degrees) of the first category on the axis.
     * Angles increase clockwise with zero to the left. Negative values are acceptable.
     */
    startAngle?: number;
    /**
     * Determines whether the Chart displays the axis.
     * When set to `true`, the Chart displays the axis. By default, the axis is visible.
     */
    visible?: boolean;
    /**
     * Specifies the crosshair configuration options.
     * Displays the crosshair when the [`axisDefaults.crosshair.visible`](https://www.telerik.com/kendo-angular-ui/components/charts/api/axisdefaultscrosshair#visible) option is set to `true`.
     */
    crosshair?: AxisDefaultsCrosshair;
    /**
     * Specifies the configuration of the axis labels.
     */
    labels?: AxisDefaultsLabels;
    /**
     * Specifies the title configuration of the axis.
     * To display the title, set the [`axisDefaults.title.text`](https://www.telerik.com/kendo-angular-ui/components/charts/api/axisdefaultstitle#text) option.
     */
    title?: AxisDefaultsTitle;
}
