import { IgRect } from "igniteui-angular-core";
import { IgPoint } from "igniteui-angular-core";
import { IgxHorizontalAnchoredCategorySeriesComponent } from "./igx-horizontal-anchored-category-series-component";
import { WaterfallSeries } from "./WaterfallSeries";
import * as i0 from "@angular/core";
/**
 * Represents a IgxDataChartComponent waterfall column series.
*
* `IgxWaterfallSeriesComponent` belongs to a group of `IgxCategorySeriesComponent` and it is rendered using a collection of vertical columns that show the difference between consecutive data points.
*
* ```html
* <igx-data-chart
*     [dataSource]="data">
*     <igx-category-x-axis #xAxis
*         label="label">
*     </igx-category-x-axis>
*     <igx-numeric-y-axis #yAxis>
*     </igx-numeric-y-axis>
*     <igx-waterfall-series
*         [xAxis]="xAxis"
*         [yAxis]="yAxis"
*         valueMemberPath="value">
*     </igx-waterfall-series>
* </igx-data-chart>
* ```
*
* ```ts
* let series: IgxWaterfallSeriesComponent = new IgxWaterfallSeriesComponent();
* series.xAxis = this.xAxis;
* series.yAxis = this.yAxis;
* series.valueMemberPath = "value";
* this.chart.series.add(series);
* ```
*/
export declare class IgxWaterfallSeriesComponent extends IgxHorizontalAnchoredCategorySeriesComponent {
    protected createImplementation(): WaterfallSeries;
    /**
                                 * @hidden
                                 */
    get i(): WaterfallSeries;
    constructor();
    /**
     * Gets whether the current series shows a waterfall column shape.
    */
    get isWaterfall(): boolean;
    static ngAcceptInputType_isWaterfall: boolean | string;
    /**
     * Overridden by derived series classes to indicate when marker-less display is preferred or not.
    */
    get isMarkerlessDisplayPreferred(): boolean;
    static ngAcceptInputType_isMarkerlessDisplayPreferred: boolean | string;
    /**
     * Gets whether the series is financial waterfall
    */
    get isFinancialWaterfall(): boolean;
    static ngAcceptInputType_isFinancialWaterfall: boolean | string;
    /**
     * Overridden by derived series classes to indicate when negative colors are supported or not.
    */
    get isNegativeColorSupported(): boolean;
    static ngAcceptInputType_isNegativeColorSupported: boolean | string;
    /**
     * Gets or sets the brush to use for negative portions of the series.
    *
    * Gets or sets the color used to draw negative declines in values for this `IgxWaterfallSeriesComponent`.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data">
    *     <igx-category-x-axis #xAxis
    *         label="label">
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-waterfall-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         negativeBrush="#ff0000"
    *         valueMemberPath="value">
    *     </igx-waterfall-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * series.xAxis = this.xAxis;
    * series.yAxis = this.yAxis;
    * series.valueMemberPath = "value";
    * series.negativeBrush = "#ff0000";
    * this.chart.series.add(series);
    * ```
    */
    get negativeBrush(): string;
    set negativeBrush(v: string);
    /**
     * Gets or sets the x-radius of the ellipse that is used to round the corners of the column.
    *
    * Gets or sets the amount to round corners in the direction of the X axis in this series.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data">
    *     <igx-category-x-axis #xAxis
    *         label="label">
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-waterfall-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         radiusX="15"
    *         radiusY="15"
    *         valueMemberPath="value">
    *     </igx-waterfall-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * series.xAxis = this.xAxis;
    * series.yAxis = this.yAxis;
    * series.valueMemberPath = "value";
    * series.radiusX = 15;
    * series.radiusY = 15;
    * this.chart.series.add(series);
    * ```
    */
    get radiusX(): number;
    set radiusX(v: number);
    static ngAcceptInputType_radiusX: number | string;
    /**
     * Gets or sets the y-radius of the ellipse that is used to round the corners of the column.
    *
    * Gets or sets the amount to round corners in the direction of the Y axis in this series.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data">
    *     <igx-category-x-axis #xAxis
    *         label="label">
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-waterfall-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         radiusX="15"
    *         radiusY="15"
    *         valueMemberPath="value">
    *     </igx-waterfall-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * series.xAxis = this.xAxis;
    * series.yAxis = this.yAxis;
    * series.valueMemberPath = "value";
    * series.radiusX = 15;
    * series.radiusY = 15;
    * this.chart.series.add(series);
    * ```
    */
    get radiusY(): number;
    set radiusY(v: number);
    static ngAcceptInputType_radiusY: number | string;
    /**
     * Brush to use for outlining negative elements in the waterfall series.
    *
    * Gets or sets the color used to draw borders of negative declines in values for this `IgxWaterfallSeriesComponent`.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data">
    *     <igx-category-x-axis #xAxis
    *         label="label">
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis #yAxis>
    *     </igx-numeric-y-axis>
    *     <igx-waterfall-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         negativeOutline="#ff0000"
    *         valueMemberPath="value">
    *     </igx-waterfall-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * series.xAxis = this.xAxis;
    * series.yAxis = this.yAxis;
    * series.valueMemberPath = "value";
    * series.negativeOutline = "#ff0000";
    * this.chart.series.add(series);
    * ```
    */
    get negativeOutline(): string;
    set negativeOutline(v: string);
    setNegativeColors(negativeBrush: string, negativeOutline: string): void;
    /**
     * If possible, will return the best available value bounding box within the series that has the best value match for the world position provided.
    
    * @param world  * The world coordinate for which to get a value bounding box for
    *
    * Returns a bounding box `Rect` for a data value given a `Point`.
    *
    * ```ts
    * let box : IgxRect = series.getSeriesValueBoundingBox({x: 4, y: 7});
    * ```
    */
    getSeriesValueBoundingBox(world: IgPoint): IgRect;
    /**
     * For a category plotted series, returns the current width of the items within the categories. This only returns a value if the items have some form of width (e.g. columns, bars, etc.) otherwise 0 is returned.
    
    *
    * Returns the width of items in the `IgxWaterfallSeriesComponent`.
    *
    * ```ts
    * let itemSpan: number = series.GetItemSpan();
    * ```
    */
    getItemSpan(): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxWaterfallSeriesComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxWaterfallSeriesComponent, "igx-waterfall-series", never, { "negativeBrush": "negativeBrush"; "radiusX": "radiusX"; "radiusY": "radiusY"; "negativeOutline": "negativeOutline"; }, {}, never, never>;
}
