import { IgrCategoryAxisBase } from "./igr-category-axis-base";
import { IgrAnnotationLayer, IIgrAnnotationLayerProps } from "./igr-annotation-layer";
import { CategoryHighlightLayer } from "./CategoryHighlightLayer";
import { IgrAxis } from "./igr-axis";
/**
 * Represents an annotation layer that targets a category axis, or all category axes in the chart.
 * If the axis contains any series that are aligned between major gridlines of the axis (column, waterfall, etc) this will render a shape that fills the current category.
 * Otherwise it will render a band with an adjustable thickness at the closest gridline to the pointer position.
 * Setting UseIterpolation to true will cause the x position in the latter case to become affixed to the x position of the pointer.
*/
export declare class IgrCategoryHighlightLayer extends IgrAnnotationLayer<IIgrCategoryHighlightLayerProps> {
    protected createImplementation(): CategoryHighlightLayer;
    /**
                                 * @hidden
                                 */
    get i(): CategoryHighlightLayer;
    constructor(props: IIgrCategoryHighlightLayerProps);
    /**
     * Gets whether the series is an annotation layer displayed only when hovering over the chart.
    */
    get isAnnotationHoverLayer(): boolean;
    /**
     * Gets or sets the axis to target this annotation to. If null, this annotation targets all category axes simultaneously.
    */
    get targetAxis(): IgrCategoryAxisBase;
    set targetAxis(v: IgrCategoryAxisBase);
    private _targetAxisName;
    /**
    * Gets or sets the name to use to resolve targetAxis from markup.
    */
    get targetAxisName(): string;
    set targetAxisName(v: string);
    /**
     * Gets or sets whether to use value interpolation when drawing a line through the best value for the pointer position.
    */
    get useInterpolation(): boolean;
    set useInterpolation(v: boolean);
    /**
     * Gets or sets the width to use for the highlight region if drawing a band rather than filling a category.
    */
    get bandHighlightWidth(): number;
    set bandHighlightWidth(v: number);
    bindAxes(axes: IgrAxis[]): void;
    findByName(name: string): any;
    protected _styling(container: any, component: any, parent?: any): void;
}
export interface IIgrCategoryHighlightLayerProps extends IIgrAnnotationLayerProps {
    /**
     * Gets or sets the axis to target this annotation to. If null, this annotation targets all category axes simultaneously.
    */
    targetAxis?: IgrCategoryAxisBase;
    /**
    * Gets or sets the name to use to resolve targetAxis from markup.
    */
    targetAxisName?: string;
    /**
     * Gets or sets whether to use value interpolation when drawing a line through the best value for the pointer position.
    */
    useInterpolation?: boolean | string;
    /**
     * Gets or sets the width to use for the highlight region if drawing a band rather than filling a category.
    */
    bandHighlightWidth?: number | string;
}
