import { EventEmitter } from '@angular/core';
import { IgPoint } from "igniteui-angular-core";
import { IgxAxisComponent } from "./igx-axis-component";
import { OverlayTextLocation } from "./OverlayTextLocation";
import { AnnotationAppearanceMode } from "./AnnotationAppearanceMode";
import { IgxOverlayTextUpdatingEventArgs } from "./igx-overlay-text-updating-event-args";
import { IgxSeriesComponent } from "./igx-series-component";
import { ValueOverlay } from "./ValueOverlay";
import * as i0 from "@angular/core";
/**
 * Represents the class of the value overlay. The value overlay is a line or circle representing a value on an axis.
*/
export declare class IgxValueOverlayComponent extends IgxSeriesComponent {
    protected createImplementation(): ValueOverlay;
    /**
                                 * @hidden
                                 */
    get i(): ValueOverlay;
    constructor();
    /**
     * Gets or sets the axis used by the value overlay.
    */
    get axis(): IgxAxisComponent;
    set axis(v: IgxAxisComponent);
    /**
     * Gets or sets the value of the overlay.
    */
    get value(): number;
    set value(v: number);
    static ngAcceptInputType_value: number | string;
    /**
     * Gets or sets the value of the overlay as a date. If this is set to something other than the minimum date, then it will be preferred over the Value property.
    */
    get dateValue(): Date;
    set dateValue(v: Date);
    /**
     * Gets or sets whether to draw annotations over the axes where the crosshair meets with them.
    */
    get isAxisAnnotationEnabled(): boolean;
    set isAxisAnnotationEnabled(v: boolean);
    static ngAcceptInputType_isAxisAnnotationEnabled: boolean | string;
    /**
     * 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);
    static ngAcceptInputType_axisAnnotationBackgroundCornerRadius: number | string;
    /**
     * Gets or sets the precision to use displaying values for interpolated positions.
    */
    get axisAnnotationInterpolatedValuePrecision(): number;
    set axisAnnotationInterpolatedValuePrecision(v: number);
    static ngAcceptInputType_axisAnnotationInterpolatedValuePrecision: number | string;
    /**
     * 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);
    static ngAcceptInputType_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.
    */
    get axisAnnotationPaddingTop(): number;
    set axisAnnotationPaddingTop(v: number);
    static ngAcceptInputType_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.
    */
    get axisAnnotationPaddingRight(): number;
    set axisAnnotationPaddingRight(v: number);
    static ngAcceptInputType_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.
    */
    get axisAnnotationPaddingBottom(): number;
    set axisAnnotationPaddingBottom(v: number);
    static ngAcceptInputType_axisAnnotationPaddingBottom: number | string;
    /**
     * Gets or sets the stroke thickness for the axis annotation backing. Leave unset for an automatic value.
    */
    get axisAnnotationStrokeThickness(): number;
    set axisAnnotationStrokeThickness(v: number);
    static ngAcceptInputType_axisAnnotationStrokeThickness: number | string;
    /**
     * Gets whether the series is a value overlay.
    */
    get isValueOverlay(): boolean;
    static ngAcceptInputType_isValueOverlay: boolean | string;
    get labelResolved(): string;
    /**
     * Gets or sets location of the overlay text in relation to shape of data annotation.
    */
    get overlayTextLocation(): OverlayTextLocation;
    set overlayTextLocation(v: OverlayTextLocation);
    static ngAcceptInputType_overlayTextLocation: OverlayTextLocation | string;
    /**
     * Gets or sets the horizontal margin of the overlay text in relation to shape of data annotation.
    */
    get overlayTextHorizontalMargin(): number;
    set overlayTextHorizontalMargin(v: number);
    static ngAcceptInputType_overlayTextHorizontalMargin: number | string;
    /**
     * Gets or sets the vertical margin of the overlay text in relation to shape of data annotation.
    */
    get overlayTextVerticalMargin(): number;
    set overlayTextVerticalMargin(v: number);
    static ngAcceptInputType_overlayTextVerticalMargin: number | string;
    /**
     * Gets or sets the horizontal padding of the overlay text in relation to shape of data annotation.
    */
    get overlayTextHorizontalPadding(): number;
    set overlayTextHorizontalPadding(v: number);
    static ngAcceptInputType_overlayTextHorizontalPadding: number | string;
    /**
     * Gets or sets the vertical padding of the overlay text in relation to shape of data annotation.
    */
    get overlayTextVerticalPadding(): number;
    set overlayTextVerticalPadding(v: number);
    static ngAcceptInputType_overlayTextVerticalPadding: number | string;
    /**
     * Gets or sets the angle rotation (in degrees) of the overlay text in relation to shape of data annotation.
    */
    get overlayTextAngle(): number;
    set overlayTextAngle(v: number);
    static ngAcceptInputType_overlayTextAngle: number | string;
    /**
     * Gets or sets the color the overlay text.
    */
    get overlayTextColor(): string;
    set overlayTextColor(v: string);
    /**
     * Gets or sets the background the overlay text.
    */
    get overlayTextBackground(): string;
    set overlayTextBackground(v: string);
    /**
     * Gets or sets the border stroke of the overlay text.
    */
    get overlayTextBorderColor(): string;
    set overlayTextBorderColor(v: string);
    /**
     * Gets or sets the border corner of the overlay text.
    */
    get overlayTextBorderRadius(): number;
    set overlayTextBorderRadius(v: number);
    static ngAcceptInputType_overlayTextBorderRadius: number | string;
    /**
     * Gets or sets the border thickness of the overlay text.
    */
    get overlayTextBorderThickness(): number;
    set overlayTextBorderThickness(v: number);
    static ngAcceptInputType_overlayTextBorderThickness: number | string;
    /**
     * Gets or sets whether the overlay text is visible in shape of data annotation
    */
    get overlayTextVisible(): boolean;
    set overlayTextVisible(v: boolean);
    static ngAcceptInputType_overlayTextVisible: boolean | string;
    /**
     * Gets or sets the text that will be displayed as the overlay annotation.
    */
    get overlayText(): string;
    set overlayText(v: string);
    /**
     * Gets or sets the shift of the overlay text color based on OverlayTextColorMode. Value must range between -1.0 to 1.0, where 0 means no color shift.
    */
    get overlayTextColorShift(): number;
    set overlayTextColorShift(v: number);
    static ngAcceptInputType_overlayTextColorShift: number | string;
    /**
     * Gets or sets the mode used for shifting the background of overlay text based on the target series.
    */
    get overlayTextColorMode(): AnnotationAppearanceMode;
    set overlayTextColorMode(v: AnnotationAppearanceMode);
    static ngAcceptInputType_overlayTextColorMode: AnnotationAppearanceMode | string;
    /**
     * Gets or sets whether the overlay text color matches brush of the layer
    */
    get overlayTextColorMatchLayer(): boolean;
    set overlayTextColorMatchLayer(v: boolean);
    static ngAcceptInputType_overlayTextColorMatchLayer: boolean | string;
    /**
     * Gets or sets the shift of the overlay background based on OverlayTextBackgroundMode. Value must range between -1.0 to 1.0, where 0 means no color shift.
    */
    get overlayTextBackgroundShift(): number;
    set overlayTextBackgroundShift(v: number);
    static ngAcceptInputType_overlayTextBackgroundShift: number | string;
    /**
     * Gets or sets the mode used for shifting the background of overlay text based on the target series.
    */
    get overlayTextBackgroundMode(): AnnotationAppearanceMode;
    set overlayTextBackgroundMode(v: AnnotationAppearanceMode);
    static ngAcceptInputType_overlayTextBackgroundMode: AnnotationAppearanceMode | string;
    /**
     * Gets or sets whether the overlay text background matches brush of the layer
    */
    get overlayTextBackgroundMatchLayer(): boolean;
    set overlayTextBackgroundMatchLayer(v: boolean);
    static ngAcceptInputType_overlayTextBackgroundMatchLayer: boolean | string;
    /**
     * Gets or sets the shift of the overlay border based on OverlayTextBorderMode. Value must range between -1.0 to 1.0, where 0 means no color shift.
    */
    get overlayTextBorderShift(): number;
    set overlayTextBorderShift(v: number);
    static ngAcceptInputType_overlayTextBorderShift: number | string;
    /**
     * Gets or sets the mode used for shifting the border of overlay text based on the target series.
    */
    get overlayTextBorderMode(): AnnotationAppearanceMode;
    set overlayTextBorderMode(v: AnnotationAppearanceMode);
    static ngAcceptInputType_overlayTextBorderMode: AnnotationAppearanceMode | string;
    /**
     * Gets or sets whether the overlay text border matches brush of the layer
    */
    get overlayTextBorderMatchLayer(): boolean;
    set overlayTextBorderMatchLayer(v: boolean);
    static ngAcceptInputType_overlayTextBorderMatchLayer: boolean | string;
    /**
     * Gets or Sets the style to use for the display text.
    */
    get overlayTextStyle(): string;
    set overlayTextStyle(v: string);
    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;
    private _stylingOverlayText;
    /**
     * Event raised when updating style of overlay text
    */
    get stylingOverlayText(): EventEmitter<{
        sender: any;
        args: IgxOverlayTextUpdatingEventArgs;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxValueOverlayComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxValueOverlayComponent, "igx-value-overlay", never, { "axis": { "alias": "axis"; "required": false; }; "value": { "alias": "value"; "required": false; }; "dateValue": { "alias": "dateValue"; "required": false; }; "isAxisAnnotationEnabled": { "alias": "isAxisAnnotationEnabled"; "required": false; }; "axisAnnotationFormatLabel": { "alias": "axisAnnotationFormatLabel"; "required": false; }; "axisAnnotationTextColor": { "alias": "axisAnnotationTextColor"; "required": false; }; "axisAnnotationBackground": { "alias": "axisAnnotationBackground"; "required": false; }; "axisAnnotationBackgroundCornerRadius": { "alias": "axisAnnotationBackgroundCornerRadius"; "required": false; }; "axisAnnotationInterpolatedValuePrecision": { "alias": "axisAnnotationInterpolatedValuePrecision"; "required": false; }; "axisAnnotationOutline": { "alias": "axisAnnotationOutline"; "required": false; }; "axisAnnotationPaddingLeft": { "alias": "axisAnnotationPaddingLeft"; "required": false; }; "axisAnnotationPaddingTop": { "alias": "axisAnnotationPaddingTop"; "required": false; }; "axisAnnotationPaddingRight": { "alias": "axisAnnotationPaddingRight"; "required": false; }; "axisAnnotationPaddingBottom": { "alias": "axisAnnotationPaddingBottom"; "required": false; }; "axisAnnotationStrokeThickness": { "alias": "axisAnnotationStrokeThickness"; "required": false; }; "overlayTextLocation": { "alias": "overlayTextLocation"; "required": false; }; "overlayTextHorizontalMargin": { "alias": "overlayTextHorizontalMargin"; "required": false; }; "overlayTextVerticalMargin": { "alias": "overlayTextVerticalMargin"; "required": false; }; "overlayTextHorizontalPadding": { "alias": "overlayTextHorizontalPadding"; "required": false; }; "overlayTextVerticalPadding": { "alias": "overlayTextVerticalPadding"; "required": false; }; "overlayTextAngle": { "alias": "overlayTextAngle"; "required": false; }; "overlayTextColor": { "alias": "overlayTextColor"; "required": false; }; "overlayTextBackground": { "alias": "overlayTextBackground"; "required": false; }; "overlayTextBorderColor": { "alias": "overlayTextBorderColor"; "required": false; }; "overlayTextBorderRadius": { "alias": "overlayTextBorderRadius"; "required": false; }; "overlayTextBorderThickness": { "alias": "overlayTextBorderThickness"; "required": false; }; "overlayTextVisible": { "alias": "overlayTextVisible"; "required": false; }; "overlayText": { "alias": "overlayText"; "required": false; }; "overlayTextColorShift": { "alias": "overlayTextColorShift"; "required": false; }; "overlayTextColorMode": { "alias": "overlayTextColorMode"; "required": false; }; "overlayTextColorMatchLayer": { "alias": "overlayTextColorMatchLayer"; "required": false; }; "overlayTextBackgroundShift": { "alias": "overlayTextBackgroundShift"; "required": false; }; "overlayTextBackgroundMode": { "alias": "overlayTextBackgroundMode"; "required": false; }; "overlayTextBackgroundMatchLayer": { "alias": "overlayTextBackgroundMatchLayer"; "required": false; }; "overlayTextBorderShift": { "alias": "overlayTextBorderShift"; "required": false; }; "overlayTextBorderMode": { "alias": "overlayTextBorderMode"; "required": false; }; "overlayTextBorderMatchLayer": { "alias": "overlayTextBorderMatchLayer"; "required": false; }; "overlayTextStyle": { "alias": "overlayTextStyle"; "required": false; }; }, { "stylingOverlayText": "stylingOverlayText"; }, never, never, true, never>;
}
