import * as React from 'react';
import { IgRect } from "igniteui-react-core";
import { IgPoint } from "igniteui-react-core";
import { IgrCategoryAxisBase, IIgrCategoryAxisBaseProps } from "./igr-category-axis-base";
import { CategoryYAxis } from "./CategoryYAxis";
/**
 * Represents a IgxDataChartComponent category Y axis.
*/
export declare class IgrCategoryYAxis extends IgrCategoryAxisBase<IIgrCategoryYAxisProps & React.HTMLAttributes<HTMLElement>> {
    protected createImplementation(): CategoryYAxis;
    /**
                                 * @hidden
                                 */
    get i(): CategoryYAxis;
    constructor(props: IIgrCategoryYAxisProps & React.HTMLAttributes<HTMLElement>);
    /**
     * Gets if the current axis is a vertical axis.
    */
    get isVertical(): boolean;
    /**
     * Gets or sets the frequency of displayed labels.
     * The set value is a factor that determines which labels will be hidden. For example, an interval of 2 will display every other label.
    */
    get interval(): number;
    set interval(v: number);
    /**
     * Gets the effective value for the current Interval.
    */
    get actualInterval(): number;
    set actualInterval(v: number);
    /**
     * Gets or sets the frequency of displayed minor lines.
     * The set value is a factor that determines how the minor lines will be displayed.
    */
    get minorInterval(): number;
    set minorInterval(v: number);
    /**
     * Gets the effective value for the current MinorInterval.
    */
    get actualMinorInterval(): number;
    set actualMinorInterval(v: number);
    /**
     * Gets or sets number of visible categories at maximum zooming level
     * This property is overridden by chart's WindowRectMinWidth property
    */
    get zoomMaximumCategoryRange(): number;
    set zoomMaximumCategoryRange(v: number);
    /**
     * Gets or sets maximum pixel span of series item that will be visible at maximum zooming level
     * This property ensures that series item does not get stretch above specified value.
     * This property is overridden by chart's WindowRectMinWidth property
    */
    get zoomMaximumItemSpan(): number;
    set zoomMaximumItemSpan(v: number);
    /**
     * Gets or sets range of categories that the chart will zoom in and fill plot area
     * This property is overridden by chart's WindowRect or WindowScaleHorizontal properties
    */
    get zoomToCategoryRange(): number;
    set zoomToCategoryRange(v: number);
    /**
     * Gets or sets starting category that chart will move its zoom window. Acceptable value is between 0 and number of data items
     * This property is overridden by chart's WindowRect or WindowScaleHorizontal properties
    */
    get zoomToCategoryStart(): number;
    set zoomToCategoryStart(v: number);
    /**
     * Gets or sets pixel span of series item that will be used to zoom chart such that the item has desired span
     * Chart will automatically zoom in until series item has specified pixel span.
     * This property is overridden by chart's WindowRect or WindowScaleHorizontal properties
    */
    get zoomToItemSpan(): number;
    set zoomToItemSpan(v: number);
    getCategoryBoundingBox(point: IgPoint, useInterpolation: boolean, singularWidth: number): IgRect;
    scrollRangeIntoView(minimum: number, maximum: number): void;
    /**
     * Scrolls the specified item into view.
    
    * @param item  * Data item to scroll into view
    */
    scrollIntoView(item: any): void;
    /**
     * Gets window zoom scale required to zoom to specified number of categories
    
    */
    getWindowZoomFromCategories(categoriesCount: number): number;
    /**
     * Gets window zoom scale required to zoom to specified span of series item
    
    */
    getWindowZoomFromItemSpan(pixels: number): number;
    private _actualIntervalChange;
    private _actualIntervalChange_wrapped;
    get actualIntervalChange(): (s: IgrCategoryYAxis, e: number) => void;
    set actualIntervalChange(ev: (s: IgrCategoryYAxis, e: number) => void);
    private _actualMinorIntervalChange;
    private _actualMinorIntervalChange_wrapped;
    get actualMinorIntervalChange(): (s: IgrCategoryYAxis, e: number) => void;
    set actualMinorIntervalChange(ev: (s: IgrCategoryYAxis, e: number) => void);
}
export interface IIgrCategoryYAxisProps extends IIgrCategoryAxisBaseProps {
    /**
     * Gets or sets the frequency of displayed labels.
     * The set value is a factor that determines which labels will be hidden. For example, an interval of 2 will display every other label.
    */
    interval?: number | string;
    /**
     * Gets the effective value for the current Interval.
    */
    actualInterval?: number | string;
    /**
     * Gets or sets the frequency of displayed minor lines.
     * The set value is a factor that determines how the minor lines will be displayed.
    */
    minorInterval?: number | string;
    /**
     * Gets the effective value for the current MinorInterval.
    */
    actualMinorInterval?: number | string;
    /**
     * Gets or sets number of visible categories at maximum zooming level
     * This property is overridden by chart's WindowRectMinWidth property
    */
    zoomMaximumCategoryRange?: number | string;
    /**
     * Gets or sets maximum pixel span of series item that will be visible at maximum zooming level
     * This property ensures that series item does not get stretch above specified value.
     * This property is overridden by chart's WindowRectMinWidth property
    */
    zoomMaximumItemSpan?: number | string;
    /**
     * Gets or sets range of categories that the chart will zoom in and fill plot area
     * This property is overridden by chart's WindowRect or WindowScaleHorizontal properties
    */
    zoomToCategoryRange?: number | string;
    /**
     * Gets or sets starting category that chart will move its zoom window. Acceptable value is between 0 and number of data items
     * This property is overridden by chart's WindowRect or WindowScaleHorizontal properties
    */
    zoomToCategoryStart?: number | string;
    /**
     * Gets or sets pixel span of series item that will be used to zoom chart such that the item has desired span
     * Chart will automatically zoom in until series item has specified pixel span.
     * This property is overridden by chart's WindowRect or WindowScaleHorizontal properties
    */
    zoomToItemSpan?: number | string;
}
