import * as React from 'react';
import { IgPoint } from "igniteui-react-core";
import { AnnotationAppearanceMode } from "./AnnotationAppearanceMode";
import { IgrSeries, IIgrSeriesProps } from "./igr-series";
import { AnnotationLayer } from "./AnnotationLayer";
/**
 * Represents the base class for annotation layer types. Annotations will usually disable some of the default hover/touch behaviors of the chart when they are introduced to the series collection.
 * In return they provide some valuable information as the cursor is moved by hovering over the chart, or performing a press-hold-drag interaction in touch mode.
*/
export declare abstract class IgrAnnotationLayer<P extends IIgrAnnotationLayerProps = IIgrAnnotationLayerProps> extends IgrSeries<P> {
    /**
                                 * @hidden
                                 */
    get i(): AnnotationLayer;
    constructor(props: P & React.HTMLAttributes<HTMLElement>);
    /**
     * Gets or sets whether this series should take up an index for auto brush coloring.
    */
    get useIndex(): boolean;
    set useIndex(v: boolean);
    /**
     * Gets or sets whether this series interacts with the chart legend.
    */
    get useLegend(): boolean;
    set useLegend(v: boolean);
    /**
     * Gets or sets the world position to use instead of the pointer position for this annotation layer. If you set this value, rather than responding to the pointer, this layer will be fixed on the provided world position.
     * A world position has x and y values that range from 0 to 1 that represent the global position of the cursor relative to the entire ranges of the axes. The default of (NaN, NaN) means that the layer should react to pointer movement.
    */
    get cursorPosition(): IgPoint;
    set cursorPosition(v: IgPoint);
    /**
     * Gets or sets whether the series viewer's default crosshair should be disabled by the presence of this layer.
    */
    get isDefaultCrosshairDisabled(): boolean;
    set isDefaultCrosshairDisabled(v: boolean);
    /**
     * Gets whether or not the default crosshair behavior is disabled.
    */
    get isDefaultCrosshairBehaviorDisabled(): boolean;
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    get appearanceMode(): AnnotationAppearanceMode;
    set appearanceMode(v: AnnotationAppearanceMode);
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    get actualAppearanceMode(): AnnotationAppearanceMode;
    set actualAppearanceMode(v: AnnotationAppearanceMode);
    /**
     * Gets or sets the percentage amount to shift the appearance mode by. Value must range between -1.0 to 1.0.
    */
    get shiftAmount(): number;
    set shiftAmount(v: number);
    /**
     * Gets or sets the percentage amount to shift the appearance mode by. Value must range between -1.0 to 1.0.
    */
    get actualShiftAmount(): number;
    set actualShiftAmount(v: number);
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    get horizontalAppearanceMode(): AnnotationAppearanceMode;
    set horizontalAppearanceMode(v: AnnotationAppearanceMode);
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    get actualHorizontalAppearanceMode(): AnnotationAppearanceMode;
    set actualHorizontalAppearanceMode(v: AnnotationAppearanceMode);
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    get verticalAppearanceMode(): AnnotationAppearanceMode;
    set verticalAppearanceMode(v: AnnotationAppearanceMode);
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    get actualVerticalAppearanceMode(): AnnotationAppearanceMode;
    set actualVerticalAppearanceMode(v: AnnotationAppearanceMode);
    /**
     * Gets or sets the percentage amount to shift the appearance mode by. Value must range between -1.0 to 1.0.
    */
    get horizontalShiftAmount(): number;
    set horizontalShiftAmount(v: number);
    /**
     * Gets or sets the percentage amount to shift the appearance mode by. Value must range between -1.0 to 1.0.
    */
    get actualHorizontalShiftAmount(): number;
    set actualHorizontalShiftAmount(v: number);
    /**
     * Gets or sets the percentage amount to shift the appearance mode by. Value must range between -1.0 to 1.0.
    */
    get verticalShiftAmount(): number;
    set verticalShiftAmount(v: number);
    /**
     * Gets or sets the percentage amount to shift the appearance mode by. Value must range between -1.0 to 1.0.
    */
    get actualVerticalShiftAmount(): number;
    set actualVerticalShiftAmount(v: number);
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    get horizontalDashArray(): number[];
    set horizontalDashArray(v: number[]);
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    get actualHorizontalDashArray(): number[];
    set actualHorizontalDashArray(v: number[]);
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    get verticalDashArray(): number[];
    set verticalDashArray(v: number[]);
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    get actualVerticalDashArray(): number[];
    set actualVerticalDashArray(v: number[]);
    /**
     * Gets if the series uses an index, which can be used to auto-assign it a color.
    */
    get isIndexed(): boolean;
    /**
     * Gets if the series should appear in any legends.
    */
    get isUsableInLegend(): boolean;
    /**
     * Gets whether this series is an annotation layer.
    */
    get isAnnotationLayer(): boolean;
    /**
     * Gets or sets whether this layer renders as an overlay or not.
    */
    get shouldRenderAsOverlay(): boolean;
    set shouldRenderAsOverlay(v: boolean);
}
export interface IIgrAnnotationLayerProps extends IIgrSeriesProps {
    /**
     * Gets or sets whether this series should take up an index for auto brush coloring.
    */
    useIndex?: boolean | string;
    /**
     * Gets or sets whether this series interacts with the chart legend.
    */
    useLegend?: boolean | string;
    /**
     * Gets or sets the world position to use instead of the pointer position for this annotation layer. If you set this value, rather than responding to the pointer, this layer will be fixed on the provided world position.
     * A world position has x and y values that range from 0 to 1 that represent the global position of the cursor relative to the entire ranges of the axes. The default of (NaN, NaN) means that the layer should react to pointer movement.
    */
    cursorPosition?: IgPoint | string;
    /**
     * Gets or sets whether the series viewer's default crosshair should be disabled by the presence of this layer.
    */
    isDefaultCrosshairDisabled?: boolean | string;
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    appearanceMode?: AnnotationAppearanceMode | string;
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    actualAppearanceMode?: AnnotationAppearanceMode | string;
    /**
     * Gets or sets the percentage amount to shift the appearance mode by. Value must range between -1.0 to 1.0.
    */
    shiftAmount?: number | string;
    /**
     * Gets or sets the percentage amount to shift the appearance mode by. Value must range between -1.0 to 1.0.
    */
    actualShiftAmount?: number | string;
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    horizontalAppearanceMode?: AnnotationAppearanceMode | string;
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    actualHorizontalAppearanceMode?: AnnotationAppearanceMode | string;
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    verticalAppearanceMode?: AnnotationAppearanceMode | string;
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    actualVerticalAppearanceMode?: AnnotationAppearanceMode | string;
    /**
     * Gets or sets the percentage amount to shift the appearance mode by. Value must range between -1.0 to 1.0.
    */
    horizontalShiftAmount?: number | string;
    /**
     * Gets or sets the percentage amount to shift the appearance mode by. Value must range between -1.0 to 1.0.
    */
    actualHorizontalShiftAmount?: number | string;
    /**
     * Gets or sets the percentage amount to shift the appearance mode by. Value must range between -1.0 to 1.0.
    */
    verticalShiftAmount?: number | string;
    /**
     * Gets or sets the percentage amount to shift the appearance mode by. Value must range between -1.0 to 1.0.
    */
    actualVerticalShiftAmount?: number | string;
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    horizontalDashArray?: number[] | string;
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    actualHorizontalDashArray?: number[] | string;
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    verticalDashArray?: number[] | string;
    /**
     * Gets or sets the mode used for shifting the annotation layer color based on the target series.
    */
    actualVerticalDashArray?: number[] | string;
    /**
     * Gets or sets whether this layer renders as an overlay or not.
    */
    shouldRenderAsOverlay?: boolean | string;
}
