import { DataAnnotationDisplayMode } from "./DataAnnotationDisplayMode";
import { AnnotationAppearanceMode } from "./AnnotationAppearanceMode";
import { IgrAxis } from "./igr-axis";
import { DataAnnotationTargetMode } from "./DataAnnotationTargetMode";
import { IgrAnnotationLayer, IIgrAnnotationLayerProps } from "./igr-annotation-layer";
import { DataAnnotationAxisLayer } from "./DataAnnotationAxisLayer";
/**
 * Represents a base annotation layer that displays annotations over an axis.
*/
export declare abstract class IgrDataAnnotationAxisLayer<P extends IIgrDataAnnotationAxisLayerProps = IIgrDataAnnotationAxisLayerProps> extends IgrAnnotationLayer<P> {
    /**
                                 * @hidden
                                 */
    get i(): DataAnnotationAxisLayer;
    constructor(props: P);
    /**
     * Gets whether the series is a data annotation layer that support binding to data source
    */
    get isAnnotationDataLayer(): boolean;
    /**
     * Gets or sets display mode of label on axis annotation.
    */
    get annotationLabelDisplayMode(): DataAnnotationDisplayMode;
    set annotationLabelDisplayMode(v: DataAnnotationDisplayMode);
    /**
     * Gets or sets whether to show all annotations over target axis
    */
    get annotationLabelVisible(): boolean;
    set annotationLabelVisible(v: boolean);
    /**
     * Gets or sets the text color used in the axis annotation.
    */
    get annotationTextColor(): string;
    set annotationTextColor(v: string);
    /**
     * Gets or sets the mode used for shifting the text color in axis annotation.
    */
    get annotationTextColorMode(): AnnotationAppearanceMode;
    set annotationTextColorMode(v: AnnotationAppearanceMode);
    /**
     * Gets or sets the percentage used to shift AnnotationTextColor. Value must range between -1.0 to 1.0, where 0 means no color shift.
    */
    get annotationTextColorShift(): number;
    set annotationTextColorShift(v: number);
    /**
     * Gets or sets whether the annotation text color matches brush of the layer
    */
    get annotationTextColorMatchLayer(): boolean;
    set annotationTextColorMatchLayer(v: boolean);
    /**
     * Gets or sets the color used for backing of the axis annotation.
    */
    get annotationBackground(): string;
    set annotationBackground(v: string);
    /**
     * Gets or sets the border radius used for displaying the axis annotation.
    */
    get annotationBorderRadius(): number;
    set annotationBorderRadius(v: number);
    /**
     * Gets or sets the mode used for shifting the background of axis annotation.
    */
    get annotationBackgroundMode(): AnnotationAppearanceMode;
    set annotationBackgroundMode(v: AnnotationAppearanceMode);
    /**
     * Gets or sets the percentage used to shift AnnotationBackground. Value must range between -1.0 to 1.0, where 0 means no color shift.
    */
    get annotationBackgroundShift(): number;
    set annotationBackgroundShift(v: number);
    /**
     * Gets or sets whether the annotation background matches brush of the layer
    */
    get annotationBackgroundMatchLayer(): boolean;
    set annotationBackgroundMatchLayer(v: boolean);
    /**
     * Gets or sets whether the annotation border matches outline of the layer (if it has a fill visual) otherwise brush of the layer
    */
    get annotationBorderMatchLayer(): boolean;
    set annotationBorderMatchLayer(v: boolean);
    /**
     * Gets or sets the color used for border color of the axis annotation.
    */
    get annotationBorderColor(): string;
    set annotationBorderColor(v: string);
    /**
     * Gets or sets the mode used for shifting border color of the axis annotation.
    */
    get annotationBorderMode(): AnnotationAppearanceMode;
    set annotationBorderMode(v: AnnotationAppearanceMode);
    /**
     * Gets or sets the percentage amount used to shift AnnotationBorderColor. Value must range between -1.0 to 1.0, where 0 means no color shift.
    */
    get annotationBorderShift(): number;
    set annotationBorderShift(v: number);
    get annotationPaddingBottom(): number;
    set annotationPaddingBottom(v: number);
    get annotationPaddingLeft(): number;
    set annotationPaddingLeft(v: number);
    get annotationPaddingRight(): number;
    set annotationPaddingRight(v: number);
    get annotationPaddingTop(): number;
    set annotationPaddingTop(v: number);
    ensureAnnotationPadding(): void;
    /**
     * Gets or sets border thickness of the axis annotations.
    */
    get annotationBorderThickness(): number;
    set annotationBorderThickness(v: number);
    /**
     * Gets or sets maximum precision for displaying values on axis annotation.
    */
    get annotationValueMaxPrecision(): number;
    set annotationValueMaxPrecision(v: number);
    /**
     * Gets or sets minimum precision for displaying values on axis annotation.
    */
    get annotationValueMinPrecision(): number;
    set annotationValueMinPrecision(v: number);
    /**
     * Gets or sets the target axis for this annotation. If null, this annotation will use TargetMode to determine target axis.
    */
    get targetAxis(): IgrAxis;
    set targetAxis(v: IgrAxis);
    private _targetAxisName;
    /**
    * Gets or sets the name to use to resolve targetAxis from markup.
    */
    get targetAxisName(): string;
    set targetAxisName(v: string);
    /**
     * Gets or sets the mode for targeting axes present in the chart. Defaults to targeting all category-axes present in the chart
    */
    get targetMode(): DataAnnotationTargetMode;
    set targetMode(v: DataAnnotationTargetMode);
    /**
     * Gets or sets whether the badge are rendered in annotations.
    */
    get annotationBadgeEnabled(): boolean;
    set annotationBadgeEnabled(v: boolean);
    /**
     * Gets or sets background of the badge annotations.
    */
    get annotationBadgeBackground(): string;
    set annotationBadgeBackground(v: string);
    /**
     * Gets or sets border outline of the badge annotations.
    */
    get annotationBadgeOutline(): string;
    set annotationBadgeOutline(v: string);
    /**
     * Gets or sets border thickness of the badge annotations.
    */
    get annotationBadgeOutlineThickness(): number;
    set annotationBadgeOutlineThickness(v: number);
    /**
     * Gets or sets border radius of the badge annotations.
    */
    get annotationBadgeCornerRadius(): number;
    set annotationBadgeCornerRadius(v: number);
    /**
     * Gets or sets a member path for displaying an image in the badge annotations.
    */
    get annotationBadgeImagePath(): string;
    set annotationBadgeImagePath(v: string);
    /**
     * Gets or sets size of the badge annotations.
    */
    get annotationBadgeSize(): number;
    set annotationBadgeSize(v: number);
    /**
     * Gets or sets margin of the badge annotations.
    */
    get annotationBadgeMargin(): number;
    set annotationBadgeMargin(v: number);
    bindAxes(axes: IgrAxis[]): void;
    findByName(name: string): any;
    protected _styling(container: any, component: any, parent?: any): void;
}
export interface IIgrDataAnnotationAxisLayerProps extends IIgrAnnotationLayerProps {
    /**
     * Gets or sets display mode of label on axis annotation.
    */
    annotationLabelDisplayMode?: DataAnnotationDisplayMode | string;
    /**
     * Gets or sets whether to show all annotations over target axis
    */
    annotationLabelVisible?: boolean | string;
    /**
     * Gets or sets the text color used in the axis annotation.
    */
    annotationTextColor?: string;
    /**
     * Gets or sets the mode used for shifting the text color in axis annotation.
    */
    annotationTextColorMode?: AnnotationAppearanceMode | string;
    /**
     * Gets or sets the percentage used to shift AnnotationTextColor. Value must range between -1.0 to 1.0, where 0 means no color shift.
    */
    annotationTextColorShift?: number | string;
    /**
     * Gets or sets whether the annotation text color matches brush of the layer
    */
    annotationTextColorMatchLayer?: boolean | string;
    /**
     * Gets or sets the color used for backing of the axis annotation.
    */
    annotationBackground?: string;
    /**
     * Gets or sets the border radius used for displaying the axis annotation.
    */
    annotationBorderRadius?: number | string;
    /**
     * Gets or sets the mode used for shifting the background of axis annotation.
    */
    annotationBackgroundMode?: AnnotationAppearanceMode | string;
    /**
     * Gets or sets the percentage used to shift AnnotationBackground. Value must range between -1.0 to 1.0, where 0 means no color shift.
    */
    annotationBackgroundShift?: number | string;
    /**
     * Gets or sets whether the annotation background matches brush of the layer
    */
    annotationBackgroundMatchLayer?: boolean | string;
    /**
     * Gets or sets whether the annotation border matches outline of the layer (if it has a fill visual) otherwise brush of the layer
    */
    annotationBorderMatchLayer?: boolean | string;
    /**
     * Gets or sets the color used for border color of the axis annotation.
    */
    annotationBorderColor?: string;
    /**
     * Gets or sets the mode used for shifting border color of the axis annotation.
    */
    annotationBorderMode?: AnnotationAppearanceMode | string;
    /**
     * Gets or sets the percentage amount used to shift AnnotationBorderColor. Value must range between -1.0 to 1.0, where 0 means no color shift.
    */
    annotationBorderShift?: number | string;
    annotationPaddingBottom?: number | string;
    annotationPaddingLeft?: number | string;
    annotationPaddingRight?: number | string;
    annotationPaddingTop?: number | string;
    /**
     * Gets or sets border thickness of the axis annotations.
    */
    annotationBorderThickness?: number | string;
    /**
     * Gets or sets maximum precision for displaying values on axis annotation.
    */
    annotationValueMaxPrecision?: number | string;
    /**
     * Gets or sets minimum precision for displaying values on axis annotation.
    */
    annotationValueMinPrecision?: number | string;
    /**
     * Gets or sets the target axis for this annotation. If null, this annotation will use TargetMode to determine target axis.
    */
    targetAxis?: IgrAxis;
    /**
    * Gets or sets the name to use to resolve targetAxis from markup.
    */
    targetAxisName?: string;
    /**
     * Gets or sets the mode for targeting axes present in the chart. Defaults to targeting all category-axes present in the chart
    */
    targetMode?: DataAnnotationTargetMode | string;
    /**
     * Gets or sets whether the badge are rendered in annotations.
    */
    annotationBadgeEnabled?: boolean | string;
    /**
     * Gets or sets background of the badge annotations.
    */
    annotationBadgeBackground?: string;
    /**
     * Gets or sets border outline of the badge annotations.
    */
    annotationBadgeOutline?: string;
    /**
     * Gets or sets border thickness of the badge annotations.
    */
    annotationBadgeOutlineThickness?: number | string;
    /**
     * Gets or sets border radius of the badge annotations.
    */
    annotationBadgeCornerRadius?: number | string;
    /**
     * Gets or sets a member path for displaying an image in the badge annotations.
    */
    annotationBadgeImagePath?: string;
    /**
     * Gets or sets size of the badge annotations.
    */
    annotationBadgeSize?: number | string;
    /**
     * Gets or sets margin of the badge annotations.
    */
    annotationBadgeMargin?: number | string;
}
