import * as React from 'react';
import { IgrSeries } from "./igr-series";
import { FinalValueSelectionMode } from "./FinalValueSelectionMode";
import { IgrAnnotationLayer, IIgrAnnotationLayerProps } from "./igr-annotation-layer";
import { FinalValueLayer } from "./FinalValueLayer";
/**
 * Represents an annotation layer that displays crosshair lines that cross through the closest value of the target series under the cursor.
*/
export declare class IgrFinalValueLayer extends IgrAnnotationLayer<IIgrFinalValueLayerProps & React.HTMLAttributes<HTMLElement>> {
    protected createImplementation(): FinalValueLayer;
    /**
                                 * @hidden
                                 */
    get i(): FinalValueLayer;
    constructor(props: IIgrFinalValueLayerProps & React.HTMLAttributes<HTMLElement>);
    /**
     * Gets whether the series is final value annotation layer.
    */
    get isAnnotationFinalValue(): boolean;
    /**
     * 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 how to select the final value to annotate.
    */
    get finalValueSelectionMode(): FinalValueSelectionMode;
    set finalValueSelectionMode(v: FinalValueSelectionMode);
    /**
     * 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 crosshair 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 left 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);
    findByName(name: string): any;
    protected _styling(container: any, component: any, parent?: any): void;
}
export interface IIgrFinalValueLayerProps extends IIgrAnnotationLayerProps {
    /**
     * 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 how to select the final value to annotate.
    */
    finalValueSelectionMode?: FinalValueSelectionMode | 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 crosshair 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 left 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;
}
