import * as React from 'react';
import { IgrSeries } from "./igr-series";
import { Visibility } from "igniteui-react-core";
import { IgrAnnotationLayer, IIgrAnnotationLayerProps } from "./igr-annotation-layer";
import { CrosshairLayer } from "./CrosshairLayer";
/**
 * Represents an annotation layer that displays crosshair lines that cross through the closest value of the target series under the cursor.
*/
export declare class IgrCrosshairLayer extends IgrAnnotationLayer<IIgrCrosshairLayerProps & React.HTMLAttributes<HTMLElement>> {
    protected createImplementation(): CrosshairLayer;
    /**
                                 * @hidden
                                 */
    get i(): CrosshairLayer;
    constructor(props: IIgrCrosshairLayerProps & React.HTMLAttributes<HTMLElement>);
    /**
     * Gets whether the series is an annotation layer displayed only when hovering over the chart.
    */
    get isAnnotationHoverLayer(): boolean;
    /**
     * Gets whether the series is an crosshair annotation layer.
    */
    get isAnnotationCrosshairLayer(): boolean;
    /**
     * Gets or sets the color to use for the horizontal line. Leave null for an automatic value.
    */
    get horizontalLineStroke(): string;
    set horizontalLineStroke(v: string);
    /**
     * Gets or sets the color to use for vertical line. Leave null for an automatic value.
    */
    get verticalLineStroke(): string;
    set verticalLineStroke(v: string);
    /**
     * Gets or sets the name of the series to target this annotation to. If null, this annotation targets all series simultaneously.
    */
    get targetSeriesName(): string;
    set targetSeriesName(v: string);
    /**
     * Gets or sets the series to target this annotation to. If null, this annotation targets all series simultaneously.
    */
    get targetSeries(): IgrSeries;
    set targetSeries(v: IgrSeries);
    /**
     * Gets or sets whether to use value interpolation when drawing a line through the best value for the cursor position.
    */
    get useInterpolation(): boolean;
    set useInterpolation(v: boolean);
    /**
     * Gets or sets whether to draw annotations over the axes where the crosshair meets with them.
    */
    get isAxisAnnotationEnabled(): boolean;
    set isAxisAnnotationEnabled(v: boolean);
    /**
     * Gets or sets the color to use for the x axis annotation text. Leave unset for an automatic value.
    */
    get xAxisAnnotationTextColor(): string;
    set xAxisAnnotationTextColor(v: string);
    /**
     * Gets or sets the color to use for the x axis annotation backing. Leave unset for an automatic value.
    */
    get xAxisAnnotationBackground(): string;
    set xAxisAnnotationBackground(v: string);
    /**
     * Gets or sets the corner radius to use for the x axis annotation backing. Leave unset for an automatic value.
    */
    get xAxisAnnotationBackgroundCornerRadius(): number;
    set xAxisAnnotationBackgroundCornerRadius(v: number);
    /**
     * Gets or sets the precision to use displaying values for interpolated crosshair positions.
    */
    get xAxisAnnotationInterpolatedValuePrecision(): number;
    set xAxisAnnotationInterpolatedValuePrecision(v: number);
    /**
     * Gets or sets the color to use for the x axis annotation outline. Leave unset for an automatic value.
    */
    get xAxisAnnotationOutline(): string;
    set xAxisAnnotationOutline(v: string);
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    get xAxisAnnotationPaddingLeft(): number;
    set xAxisAnnotationPaddingLeft(v: number);
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    get xAxisAnnotationPaddingTop(): number;
    set xAxisAnnotationPaddingTop(v: number);
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    get xAxisAnnotationPaddingRight(): number;
    set xAxisAnnotationPaddingRight(v: number);
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    get xAxisAnnotationPaddingBottom(): number;
    set xAxisAnnotationPaddingBottom(v: number);
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    get yAxisAnnotationPaddingLeft(): number;
    set yAxisAnnotationPaddingLeft(v: number);
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    get yAxisAnnotationPaddingTop(): number;
    set yAxisAnnotationPaddingTop(v: number);
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    get yAxisAnnotationPaddingRight(): number;
    set yAxisAnnotationPaddingRight(v: number);
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    get yAxisAnnotationPaddingBottom(): number;
    set yAxisAnnotationPaddingBottom(v: number);
    /**
     * Gets or sets the stroke thickness for the x axis annotation backing. Leave unset for an automatic value.
    */
    get xAxisAnnotationStrokeThickness(): number;
    set xAxisAnnotationStrokeThickness(v: number);
    /**
     * Gets or sets the color to use for the y axis annotation text. Leave unset for an automatic value.
    */
    get yAxisAnnotationTextColor(): string;
    set yAxisAnnotationTextColor(v: string);
    /**
     * Gets or sets the color to use for the y axis annotation backing. Leave unset for an automatic value.
    */
    get yAxisAnnotationBackground(): string;
    set yAxisAnnotationBackground(v: string);
    /**
     * Gets or sets the corner radius to use for the y axis annotation backing. Leave unset for an automatic value.
    */
    get yAxisAnnotationBackgroundCornerRadius(): number;
    set yAxisAnnotationBackgroundCornerRadius(v: number);
    /**
     * Gets or sets the precision to use displaying values for interpolated crosshair positions.
    */
    get yAxisAnnotationInterpolatedValuePrecision(): number;
    set yAxisAnnotationInterpolatedValuePrecision(v: number);
    /**
     * Gets or sets the color to use for the y axis annotation outline. Leave unset for an automatic value.
    */
    get yAxisAnnotationOutline(): string;
    set yAxisAnnotationOutline(v: string);
    /**
     * Gets or sets the stroke thickness for the y axis annotation backing. Leave unset for an automatic value.
    */
    get yAxisAnnotationStrokeThickness(): number;
    set yAxisAnnotationStrokeThickness(v: number);
    /**
     * Gets or sets whether to display the vertical line.
    */
    get verticalLineVisibility(): Visibility;
    set verticalLineVisibility(v: Visibility);
    /**
     * Gets or sets whether to display the horizontal line.
    */
    get horizontalLineVisibility(): Visibility;
    set horizontalLineVisibility(v: Visibility);
    /**
     * Gets or sets whether to skip unknown values when searching for series values.
    */
    get skipUnknownValues(): boolean;
    set skipUnknownValues(v: boolean);
    findByName(name: string): any;
    protected _styling(container: any, component: any, parent?: any): void;
}
export interface IIgrCrosshairLayerProps extends IIgrAnnotationLayerProps {
    /**
     * Gets or sets the color to use for the horizontal line. Leave null for an automatic value.
    */
    horizontalLineStroke?: string;
    /**
     * Gets or sets the color to use for vertical line. Leave null for an automatic value.
    */
    verticalLineStroke?: string;
    /**
     * Gets or sets the name of the series to target this annotation to. If null, this annotation targets all series simultaneously.
    */
    targetSeriesName?: string;
    /**
     * Gets or sets the series to target this annotation to. If null, this annotation targets all series simultaneously.
    */
    targetSeries?: IgrSeries;
    /**
     * Gets or sets whether to use value interpolation when drawing a line through the best value for the cursor position.
    */
    useInterpolation?: boolean | string;
    /**
     * Gets or sets whether to draw annotations over the axes where the crosshair meets with them.
    */
    isAxisAnnotationEnabled?: boolean | string;
    /**
     * Gets or sets the color to use for the x axis annotation text. Leave unset for an automatic value.
    */
    xAxisAnnotationTextColor?: string;
    /**
     * Gets or sets the color to use for the x axis annotation backing. Leave unset for an automatic value.
    */
    xAxisAnnotationBackground?: string;
    /**
     * Gets or sets the corner radius to use for the x axis annotation backing. Leave unset for an automatic value.
    */
    xAxisAnnotationBackgroundCornerRadius?: number | string;
    /**
     * Gets or sets the precision to use displaying values for interpolated crosshair positions.
    */
    xAxisAnnotationInterpolatedValuePrecision?: number | string;
    /**
     * Gets or sets the color to use for the x axis annotation outline. Leave unset for an automatic value.
    */
    xAxisAnnotationOutline?: string;
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    xAxisAnnotationPaddingLeft?: number | string;
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    xAxisAnnotationPaddingTop?: number | string;
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    xAxisAnnotationPaddingRight?: number | string;
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    xAxisAnnotationPaddingBottom?: number | string;
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    yAxisAnnotationPaddingLeft?: number | string;
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    yAxisAnnotationPaddingTop?: number | string;
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    yAxisAnnotationPaddingRight?: number | string;
    /**
     * Gets or sets the padding to use withing the axis annotation callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    yAxisAnnotationPaddingBottom?: number | string;
    /**
     * Gets or sets the stroke thickness for the x axis annotation backing. Leave unset for an automatic value.
    */
    xAxisAnnotationStrokeThickness?: number | string;
    /**
     * Gets or sets the color to use for the y axis annotation text. Leave unset for an automatic value.
    */
    yAxisAnnotationTextColor?: string;
    /**
     * Gets or sets the color to use for the y axis annotation backing. Leave unset for an automatic value.
    */
    yAxisAnnotationBackground?: string;
    /**
     * Gets or sets the corner radius to use for the y axis annotation backing. Leave unset for an automatic value.
    */
    yAxisAnnotationBackgroundCornerRadius?: number | string;
    /**
     * Gets or sets the precision to use displaying values for interpolated crosshair positions.
    */
    yAxisAnnotationInterpolatedValuePrecision?: number | string;
    /**
     * Gets or sets the color to use for the y axis annotation outline. Leave unset for an automatic value.
    */
    yAxisAnnotationOutline?: string;
    /**
     * Gets or sets the stroke thickness for the y axis annotation backing. Leave unset for an automatic value.
    */
    yAxisAnnotationStrokeThickness?: number | string;
    /**
     * Gets or sets whether to display the vertical line.
    */
    verticalLineVisibility?: Visibility | string;
    /**
     * Gets or sets whether to display the horizontal line.
    */
    horizontalLineVisibility?: Visibility | string;
    /**
     * Gets or sets whether to skip unknown values when searching for series values.
    */
    skipUnknownValues?: boolean | string;
}
