/**-----------------------------------------------------------------------------------------
* 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 { ValueAxisCrosshair } from './value-axis-item/crosshair.interface';
import { ValueAxisLabels } from './value-axis-item/labels.interface';
import { ValueAxisNotes } from './value-axis-item/notes.interface';
import { ValueAxisTitle } from './value-axis-item/title.interface';
/**
 * Specifies the configuration options of the value axis.
 */
export interface ValueAxis {
    /**
     * Specifies the value at which the category axis crosses this axis.
     * For objects, sets the crossing value directly.
     * For arrays, sets the value indices at which the category axes cross the value axis.
     * For dates, sets the date at which the category axis crosses this axis.
     */
    axisCrossingValue?: any | any[];
    /**
     * Specifies the background color of the axis.
     */
    background?: string;
    /**
     * Specifies the color of the value axis. 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 lines extend the major ticks through the body of the Chart.
     */
    majorGridLines?: GridLines;
    /**
     * Specifies the configuration of the value axis major ticks.
     */
    majorTicks?: AxisTicks;
    /**
     * Specifies the interval between major divisions.
     * If [`valueAxis.type`](https://www.telerik.com/kendo-angular-ui/components/charts/api/valueaxis#type) is set to `"log"`, the `majorUnit` value is used for the base of the
     * logarithm.
     */
    majorUnit?: number;
    /**
     * Specifies the maximum value of the axis.
     */
    max?: any;
    /**
     * Specifies the minimum value of the axis.
     */
    min?: any;
    /**
     * Specifies the configuration of the minor grid lines.
     * These lines extend the minor ticks through the body of the Chart.
     */
    minorGridLines?: GridLines;
    /**
     * Specifies the configuration of the value axis minor ticks.
     */
    minorTicks?: AxisTicks;
    /**
     * Specifies the interval between minor divisions.
     * Defaults to one-fifth (1/5) of the [`valueAxis.majorUnit`](https://www.telerik.com/kendo-angular-ui/components/charts/api/valueaxis#majorunit).
     * If [`valueAxis.type`](https://www.telerik.com/kendo-angular-ui/components/charts/api/valueaxis#type) is set to `"log"`, the `minorUnit` value represents the number of divisions
     * between two major units and defaults to the major unit minus one.
     */
    minorUnit?: number;
    /**
     * Specifies the unique axis name.
     * Use this to associate a series with a value axis by using the [`series.axis`](https://www.telerik.com/kendo-angular-ui/components/charts/api/series#axis) option.
     */
    name?: string;
    /**
     * Determines whether the Chart prevents the automatic axis range from snapping to zero.
     * Set to `false` to force the automatic axis range to snap to zero.
     */
    narrowRange?: boolean;
    /**
     * Specifies the name of the pane that renders the value axis.
     * If not set, the axis renders in the first (default) pane.
     */
    pane?: string;
    /**
     * Specifies the plot bands of the value axis.
     */
    plotBands?: PlotBand[];
    /**
     * Determines whether the value axis direction is reversed.
     * By default, categories are listed from left to right and from bottom to top.
     *
     * Radar and Polar Charts do not support reverse value axes.
     */
    reverse?: boolean;
    /**
     * Specifies the axis type.
     *
     * Use `"numeric"` for a numeric axis or `"log"` for a logarithmic axis.
     */
    type?: 'numeric' | 'log';
    /**
     * Determines whether to display the value axis. By default, the value axis is visible.
     */
    visible?: boolean;
    /**
     * Specifies the crosshair configuration options.
     *
     * The crosshair displays when the [`valueAxis.crosshair.visible`](https://www.telerik.com/kendo-angular-ui/components/charts/api/valueaxiscrosshair#visible) option is set to `true`.
     */
    crosshair?: ValueAxisCrosshair;
    /**
     * Specifies the axis labels configuration.
     */
    labels?: ValueAxisLabels;
    /**
     * Specifies the value axis notes configuration.
     */
    notes?: ValueAxisNotes;
    /**
     * Specifies the title configuration of the value axis.
     *
     * To display the title, set the [`valueAxis.title.text`](https://www.telerik.com/kendo-angular-ui/components/charts/api/valueaxistitle#text) option.
     */
    title?: ValueAxisTitle;
}
