import { IgDataTemplate } from "igniteui-react-core";
import { IgrSeries } from "./igr-series";
import { CategoryItemHighlightType } from "./CategoryItemHighlightType";
import { MarkerType } from "./MarkerType";
import { IgrAnnotationLayer, IIgrAnnotationLayerProps } from "./igr-annotation-layer";
import { CategoryItemHighlightLayer } from "./CategoryItemHighlightLayer";
/**
 * Represents an annotation layer that highlights items in a series that use a category axis
 * either by drawing a banded shape at their position, or by rendering a marker at their position.
 * Depending on the type of series, the default highlight will be affected. To override
 * the type of highlight used, you can set the HighlightType property.
*/
export declare class IgrCategoryItemHighlightLayer extends IgrAnnotationLayer<IIgrCategoryItemHighlightLayerProps> {
    protected createImplementation(): CategoryItemHighlightLayer;
    /**
                                 * @hidden
                                 */
    get i(): CategoryItemHighlightLayer;
    constructor(props: IIgrCategoryItemHighlightLayerProps);
    /**
     * Gets whether the series is an annotation layer displayed only when hovering over the chart.
    */
    get isAnnotationHoverLayer(): boolean;
    /**
     * 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 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 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 which type of highlight shape to use when highlighting items.
    */
    get highlightType(): CategoryItemHighlightType;
    set highlightType(v: CategoryItemHighlightType);
    /**
     * Gets or sets which type of marker to use when highlighting items, if appropriate.
    */
    get markerType(): MarkerType;
    set markerType(v: MarkerType);
    /**
     * Gets or sets which color to use for the marker when highlighting items, if appropriate.
    */
    get markerBrush(): string;
    set markerBrush(v: string);
    /**
     * Gets or sets which outline color to use for the marker when highlighting items, if appropriate.
    */
    get markerOutline(): string;
    set markerOutline(v: string);
    /**
     * Gets or sets the template to use for marker visuals for the current series object.
    */
    get markerTemplate(): IgDataTemplate;
    set markerTemplate(v: IgDataTemplate);
    /**
     * Gets or sets the width to use for the highlight region if highlighting items in a grid aligned series (line, spline, etc), with a banded shape.
    */
    get bandHighlightWidth(): number;
    set bandHighlightWidth(v: number);
    /**
     * Gets or sets whether to skip unknown values when searching for series values.
    */
    get skipUnknownValues(): boolean;
    set skipUnknownValues(v: boolean);
    findByName(name: string): any;
    protected _styling(container: any, component: any, parent?: any): void;
}
export interface IIgrCategoryItemHighlightLayerProps extends IIgrAnnotationLayerProps {
    /**
     * Gets or sets the series to target this annotation to. If null, this annotation targets all series simultaneously.
    */
    targetSeries?: IgrSeries;
    /**
     * 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 whether to use value interpolation when drawing a line through the best value for the pointer position.
    */
    useInterpolation?: boolean | string;
    /**
     * Gets or sets which type of highlight shape to use when highlighting items.
    */
    highlightType?: CategoryItemHighlightType | string;
    /**
     * Gets or sets which type of marker to use when highlighting items, if appropriate.
    */
    markerType?: MarkerType | string;
    /**
     * Gets or sets which color to use for the marker when highlighting items, if appropriate.
    */
    markerBrush?: string;
    /**
     * Gets or sets which outline color to use for the marker when highlighting items, if appropriate.
    */
    markerOutline?: string;
    /**
     * Gets or sets the template to use for marker visuals for the current series object.
    */
    markerTemplate?: IgDataTemplate;
    /**
     * Gets or sets the width to use for the highlight region if highlighting items in a grid aligned series (line, spline, etc), with a banded shape.
    */
    bandHighlightWidth?: number | string;
    /**
     * Gets or sets whether to skip unknown values when searching for series values.
    */
    skipUnknownValues?: boolean | string;
}
