import * as React from 'react';
import { IgPoint } from "igniteui-react-core";
import { IgrAxis } from "./igr-axis";
import { IgrSeries, IIgrSeriesProps } from "./igr-series";
import { ValueOverlay } from "./ValueOverlay";
/**
 * Represents the class of the value overlay. The value overlay is a line or circle representing a value on an axis.
*/
export declare class IgrValueOverlay extends IgrSeries<IIgrValueOverlayProps & React.HTMLAttributes<HTMLElement>> {
    protected createImplementation(): ValueOverlay;
    /**
                                 * @hidden
                                 */
    get i(): ValueOverlay;
    constructor(props: IIgrValueOverlayProps & React.HTMLAttributes<HTMLElement>);
    /**
     * Gets or sets the axis used by the value overlay.
    */
    get axis(): IgrAxis;
    set axis(v: IgrAxis);
    private _axisName;
    /**
    * Gets or sets the name to use to resolve axis from markup.
    */
    get axisName(): string;
    set axisName(v: string);
    /**
     * Gets or sets the value of the overlay.
    */
    get value(): number;
    set value(v: number);
    /**
     * Gets or sets whether to draw annotations over the axes where the crosshair meets with them.
    */
    get isAxisAnnotationEnabled(): boolean;
    set isAxisAnnotationEnabled(v: boolean);
    /**
     * Sets or gets a function which takes an object that produces a formatted label for the axis annotation.
    */
    get axisAnnotationFormatLabel(): (item: any) => string;
    set axisAnnotationFormatLabel(v: (item: any) => string);
    /**
     * Gets or sets the color to use for the axis annotation text. Leave unset for an automatic value.
    */
    get axisAnnotationTextColor(): string;
    set axisAnnotationTextColor(v: string);
    /**
     * Gets or sets the color to use for the axis annotation backing. Leave unset for an automatic value.
    */
    get axisAnnotationBackground(): string;
    set axisAnnotationBackground(v: string);
    /**
     * Gets or sets the corner radius to use for the axis annotation backing. Leave unset for an automatic value.
    */
    get axisAnnotationBackgroundCornerRadius(): number;
    set axisAnnotationBackgroundCornerRadius(v: number);
    /**
     * Gets or sets the precision to use displaying values for interpolated positions.
    */
    get axisAnnotationInterpolatedValuePrecision(): number;
    set axisAnnotationInterpolatedValuePrecision(v: number);
    /**
     * Gets or sets the color to use for the axis annotation outline. Leave unset for an automatic value.
    */
    get axisAnnotationOutline(): string;
    set axisAnnotationOutline(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 axisAnnotationPaddingLeft(): number;
    set axisAnnotationPaddingLeft(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 axisAnnotationPaddingTop(): number;
    set axisAnnotationPaddingTop(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 axisAnnotationPaddingRight(): number;
    set axisAnnotationPaddingRight(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 axisAnnotationPaddingBottom(): number;
    set axisAnnotationPaddingBottom(v: number);
    /**
     * Gets or sets the stroke thickness for the axis annotation backing. Leave unset for an automatic value.
    */
    get axisAnnotationStrokeThickness(): number;
    set axisAnnotationStrokeThickness(v: number);
    /**
     * Gets whether the series is a value overlay.
    */
    get isValueOverlay(): boolean;
    get labelResolved(): string;
    bindAxes(axes: IgrAxis[]): void;
    findByName(name: string): any;
    protected _styling(container: any, component: any, parent?: any): void;
    getSeriesValue(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): number;
    getSeriesValuePosition(world: IgPoint, useInterpolation: boolean, skipUnknowns: boolean): IgPoint;
    /**
     * Gets the item index associated with the specified world position
    
    * @param world
    */
    getItemIndex(world: IgPoint): number;
    /**
     * Gets the item that is the best match for the specified world coordinates.
    
    * @param world  * The world coordinates to use.
    */
    getItem(world: IgPoint): any;
    /**
     * Requests that the provided item should be brought into view if possible.
    
    * @param item  * The item to attempt to bring into view.
    */
    scrollIntoView(item: any): boolean;
    /**
     * Gets the label for a data item.
    
    * @param value  * The unscaled value to get a label for.
    */
    getLabel(value: number): string;
}
export interface IIgrValueOverlayProps extends IIgrSeriesProps {
    /**
     * Gets or sets the axis used by the value overlay.
    */
    axis?: IgrAxis;
    /**
    * Gets or sets the name to use to resolve axis from markup.
    */
    axisName?: string;
    /**
     * Gets or sets the value of the overlay.
    */
    value?: number | string;
    /**
     * Gets or sets whether to draw annotations over the axes where the crosshair meets with them.
    */
    isAxisAnnotationEnabled?: boolean | string;
    /**
     * Sets or gets a function which takes an object that produces a formatted label for the axis annotation.
    */
    axisAnnotationFormatLabel?: (item: any) => string;
    /**
     * Gets or sets the color to use for the axis annotation text. Leave unset for an automatic value.
    */
    axisAnnotationTextColor?: string;
    /**
     * Gets or sets the color to use for the axis annotation backing. Leave unset for an automatic value.
    */
    axisAnnotationBackground?: string;
    /**
     * Gets or sets the corner radius to use for the axis annotation backing. Leave unset for an automatic value.
    */
    axisAnnotationBackgroundCornerRadius?: number | string;
    /**
     * Gets or sets the precision to use displaying values for interpolated positions.
    */
    axisAnnotationInterpolatedValuePrecision?: number | string;
    /**
     * Gets or sets the color to use for the axis annotation outline. Leave unset for an automatic value.
    */
    axisAnnotationOutline?: 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.
    */
    axisAnnotationPaddingLeft?: 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.
    */
    axisAnnotationPaddingTop?: 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.
    */
    axisAnnotationPaddingRight?: 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.
    */
    axisAnnotationPaddingBottom?: number | string;
    /**
     * Gets or sets the stroke thickness for the axis annotation backing. Leave unset for an automatic value.
    */
    axisAnnotationStrokeThickness?: number | string;
}
