import { EventEmitter } from '@angular/core';
import { IgxSeriesComponent } from "./igx-series-component";
import { IgxCalloutPlacementPositionsCollection } from "./igx-callout-placement-positions-collection";
import { HighlightedValueLabelMode } from "igniteui-angular-core";
import { AutoCalloutVisibilityMode } from "./AutoCalloutVisibilityMode";
import { CalloutCollisionMode } from "igniteui-angular-core";
import { IgxCalloutStyleUpdatingEventArgs } from "./igx-callout-style-updating-event-args";
import { IgxCalloutRenderStyleUpdatingEventArgs } from "./igx-callout-render-style-updating-event-args";
import { IgxCalloutContentUpdatingEventArgs } from "./igx-callout-content-updating-event-args";
import { IgxCalloutLabelUpdatingEventArgs } from "./igx-callout-label-updating-event-args";
import { IgxCalloutSeriesSelectingEventArgs } from "./igx-callout-series-selecting-event-args";
import { IgxAnnotationLayerComponent } from "./igx-annotation-layer-component";
import { CalloutLayer } from "./CalloutLayer";
import * as i0 from "@angular/core";
/**
 * Represents an annotation layer that displays crosshair lines that cross through the closest value of the target series under the cursor.
*/
export declare class IgxCalloutLayerComponent extends IgxAnnotationLayerComponent {
    protected createImplementation(): CalloutLayer;
    /**
                                 * @hidden
                                 */
    get i(): CalloutLayer;
    constructor();
    /**
     * Gets whether the series is an callout annotation layer.
    */
    get isAnnotationCalloutLayer(): boolean;
    static ngAcceptInputType_isAnnotationCalloutLayer: boolean | string;
    /**
     * Gets or sets whether or not callouts expand axis buffer for extra space for their render around data points.
    */
    get calloutExpandsAxisBufferEnabled(): boolean;
    set calloutExpandsAxisBufferEnabled(v: boolean);
    static ngAcceptInputType_calloutExpandsAxisBufferEnabled: boolean | string;
    /**
     * Gets or sets whether or not callouts expand axis buffer only when callouts are visible in the chart.
     * This property is not used when the CalloutExpandsAxisBufferEnabled property is false or AutoCalloutVisibilityMode is not Dedicated.
    */
    get calloutExpandsAxisBufferOnlyWhenVisible(): boolean;
    set calloutExpandsAxisBufferOnlyWhenVisible(v: boolean);
    static ngAcceptInputType_calloutExpandsAxisBufferOnlyWhenVisible: boolean | string;
    /**
     * Gets or sets whether or not recalculate callouts expand axis buffer on rendering frame.
     * This property is not used when the CalloutExpandsAxisBufferEnabled property is false or AutoCalloutVisibilityMode is not Dedicated.
    */
    get calloutExpandsAxisBufferOnInitialVisibility(): boolean;
    set calloutExpandsAxisBufferOnInitialVisibility(v: boolean);
    static ngAcceptInputType_calloutExpandsAxisBufferOnInitialVisibility: boolean | string;
    /**
     * Gets or sets whether or not suspend refresh of callouts while they shift from hidden to visible
    */
    get calloutSuspendedWhenShiftingToVisible(): boolean;
    set calloutSuspendedWhenShiftingToVisible(v: boolean);
    static ngAcceptInputType_calloutSuspendedWhenShiftingToVisible: boolean | string;
    /**
     * Gets or sets the minimum vertical axis buffer for positioning callouts.
     * This property does not take precedence over the CalloutExpandsAxisBufferMaxHeight property.
    */
    get calloutExpandsAxisBufferMinHeight(): number;
    set calloutExpandsAxisBufferMinHeight(v: number);
    static ngAcceptInputType_calloutExpandsAxisBufferMinHeight: number | string;
    /**
     * Gets or sets the maximum vertical axis buffer for positioning callouts.
     * This property takes precedence over the CalloutExpandsAxisBufferMinHeight property.
    */
    get calloutExpandsAxisBufferMaxHeight(): number;
    set calloutExpandsAxisBufferMaxHeight(v: number);
    static ngAcceptInputType_calloutExpandsAxisBufferMaxHeight: number | string;
    /**
     * Gets or sets the minimum horizontal axis buffer for positioning callouts.
     * This property does not take precedence over the CalloutExpandsAxisBufferMaxWidth property.
    */
    get calloutExpandsAxisBufferMinWidth(): number;
    set calloutExpandsAxisBufferMinWidth(v: number);
    static ngAcceptInputType_calloutExpandsAxisBufferMinWidth: number | string;
    /**
     * Gets or sets the maximum horizontal axis buffer for positioning callouts.
     * This property takes precedence over the CalloutExpandsAxisBufferMinWidth property.
    */
    get calloutExpandsAxisBufferMaxWidth(): number;
    set calloutExpandsAxisBufferMaxWidth(v: number);
    static ngAcceptInputType_calloutExpandsAxisBufferMaxWidth: number | string;
    /**
     * Gets or sets the label mapping property for the callouts.
    */
    get labelMemberPath(): string;
    set labelMemberPath(v: string);
    /**
     * Gets or sets the label mapping property for the callouts.
    */
    get xMemberPath(): string;
    set xMemberPath(v: string);
    /**
     * Gets or sets the label mapping property for the callouts.
    */
    get yMemberPath(): string;
    set yMemberPath(v: string);
    /**
     * Gets or sets the key mapping property for the callouts.
    */
    get keyMemberPath(): string;
    set keyMemberPath(v: string);
    /**
     * Gets or sets whether to allow the callouts to be variable distances from the target points, for supporting collision modes.
    */
    get isCalloutOffsettingEnabled(): boolean;
    set isCalloutOffsettingEnabled(v: boolean);
    static ngAcceptInputType_isCalloutOffsettingEnabled: boolean | string;
    /**
     * Gets or sets the label format string to use for the label.
    */
    get labelFormat(): string;
    set labelFormat(v: string);
    /**
     * Gets or sets the format specifiers to use with the LabelFormat string.
    */
    get labelFormatSpecifiers(): any[];
    set labelFormatSpecifiers(v: any[]);
    static ngAcceptInputType_labelFormatSpecifiers: any[] | string;
    /**
     * Gets or sets the content mapping property for the callouts.
    */
    get contentMemberPath(): string;
    set contentMemberPath(v: string);
    /**
     * Gets or sets the name of the series 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(): IgxSeriesComponent;
    set targetSeries(v: IgxSeriesComponent);
    /**
     * Gets or sets a channel name to identify other callout layers within the chart to share collision information with.
    */
    get collisionChannel(): string;
    set collisionChannel(v: string);
    private _allowedPositions;
    /**
     * Gets or sets the allowed positions that the callout layer is allowed to use.
    */
    get allowedPositions(): IgxCalloutPlacementPositionsCollection;
    set allowedPositions(v: IgxCalloutPlacementPositionsCollection);
    static ngAcceptInputType_allowedPositions: IgxCalloutPlacementPositionsCollection | string;
    /**
     * Gets or sets how to select the final value to annotate.
    */
    get isAutoCalloutBehaviorEnabled(): boolean;
    set isAutoCalloutBehaviorEnabled(v: boolean);
    static ngAcceptInputType_isAutoCalloutBehaviorEnabled: boolean | string;
    /**
     * Gets or sets whether to use values, rather than labels for auto callout labels.
    */
    get useInterpolatedValueForAutoCalloutLabels(): boolean;
    set useInterpolatedValueForAutoCalloutLabels(v: boolean);
    static ngAcceptInputType_useInterpolatedValueForAutoCalloutLabels: boolean | string;
    /**
     * Gets or sets whether to the series color as the outline of the callout.
    */
    get useSeriesColorForOutline(): boolean;
    set useSeriesColorForOutline(v: boolean);
    static ngAcceptInputType_useSeriesColorForOutline: boolean | string;
    /**
     * Gets or sets whether to the label color is automatically decided between a light and dark option for contrast.
    */
    get useAutoContrastingLabelColors(): boolean;
    set useAutoContrastingLabelColors(v: boolean);
    static ngAcceptInputType_useAutoContrastingLabelColors: boolean | string;
    /**
     * Gets or sets whether to the series color as the outline of the callout.
    */
    get useItemColorForFill(): boolean;
    set useItemColorForFill(v: boolean);
    static ngAcceptInputType_useItemColorForFill: boolean | string;
    /**
     * Gets or sets whether to the series item color as the outline of the callout.
    */
    get useItemColorForOutline(): boolean;
    set useItemColorForOutline(v: boolean);
    static ngAcceptInputType_useItemColorForOutline: boolean | string;
    /**
     * Gets or sets whether to use values, rather than labels for auto callout labels.
    */
    get useValueForAutoCalloutLabels(): boolean;
    set useValueForAutoCalloutLabels(v: boolean);
    static ngAcceptInputType_useValueForAutoCalloutLabels: boolean | string;
    /**
     * Gets or sets whether to use values, rather than labels for auto callout labels.
    */
    get highlightedValueLabelMode(): HighlightedValueLabelMode;
    set highlightedValueLabelMode(v: HighlightedValueLabelMode);
    static ngAcceptInputType_highlightedValueLabelMode: HighlightedValueLabelMode | string;
    /**
     * Gets or sets the rules for when the callouts should be visible.
    */
    get autoCalloutVisibilityMode(): AutoCalloutVisibilityMode;
    set autoCalloutVisibilityMode(v: AutoCalloutVisibilityMode);
    static ngAcceptInputType_autoCalloutVisibilityMode: AutoCalloutVisibilityMode | string;
    /**
     * Gets or sets the corner radius to use for the callout borders.
    */
    get calloutCornerRadius(): number;
    set calloutCornerRadius(v: number);
    static ngAcceptInputType_calloutCornerRadius: number | string;
    /**
     * Gets or sets whether to allow for custom callout styles.
    */
    get isCustomCalloutStyleEnabled(): boolean;
    set isCustomCalloutStyleEnabled(v: boolean);
    static ngAcceptInputType_isCustomCalloutStyleEnabled: boolean | string;
    /**
     * Gets or sets whether to allow for custom callout styles.
    */
    get isCustomCalloutRenderStyleEnabled(): boolean;
    set isCustomCalloutRenderStyleEnabled(v: boolean);
    static ngAcceptInputType_isCustomCalloutRenderStyleEnabled: boolean | string;
    /**
     * Gets or sets the precision to use when values are used for the auto callout labels.
    */
    get autoCalloutLabelPrecision(): number;
    set autoCalloutLabelPrecision(v: number);
    static ngAcceptInputType_autoCalloutLabelPrecision: number | string;
    /**
     * Gets or sets the color to use for the callout text. Leave unset for an automatic value.
    */
    get calloutTextColor(): string;
    set calloutTextColor(v: string);
    /**
     * Gets or sets the light color to use for the callout text. Leave unset for an automatic value.
    */
    get calloutLightTextColor(): string;
    set calloutLightTextColor(v: string);
    /**
     * Gets or sets the dark color to use for the callout text. Leave unset for an automatic value.
    */
    get calloutDarkTextColor(): string;
    set calloutDarkTextColor(v: string);
    /**
     * Gets or sets the brush that specifies how the backgrounds for the callouts of the layer are painted. Leave unset for an automatic value.
    */
    get calloutBackground(): string;
    set calloutBackground(v: string);
    /**
     * Gets or sets whether the callouts that collide with the boundary should be truncated.
    */
    get shouldTruncateOnBoundaryCollisions(): boolean;
    set shouldTruncateOnBoundaryCollisions(v: boolean);
    static ngAcceptInputType_shouldTruncateOnBoundaryCollisions: boolean | string;
    /**
     * Gets or sets the precision to use displaying values for interpolated crosshair positions.
    */
    get calloutInterpolatedValuePrecision(): number;
    set calloutInterpolatedValuePrecision(v: number);
    static ngAcceptInputType_calloutInterpolatedValuePrecision: number | string;
    /**
     * Gets or sets the brush that specifies how the outlines for the callouts of the layer are painted.
    */
    get calloutOutline(): string;
    set calloutOutline(v: string);
    /**
     * Gets or sets the brush that specifies how the leader lines for the callouts of the layer are painted.
    */
    get calloutLeaderBrush(): string;
    set calloutLeaderBrush(v: string);
    /**
     * Gets or sets the left padding to use withing the callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    get calloutPaddingLeft(): number;
    set calloutPaddingLeft(v: number);
    static ngAcceptInputType_calloutPaddingLeft: number | string;
    /**
     * Gets or sets the top padding to use within the callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    get calloutPaddingTop(): number;
    set calloutPaddingTop(v: number);
    static ngAcceptInputType_calloutPaddingTop: number | string;
    /**
     * Gets or sets the right padding to use within the callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    get calloutPaddingRight(): number;
    set calloutPaddingRight(v: number);
    static ngAcceptInputType_calloutPaddingRight: number | string;
    /**
     * Gets or sets the bottom padding to use within the callout. Leaving this NaN will use an automatic value related to the axis label margins.
    */
    get calloutPaddingBottom(): number;
    set calloutPaddingBottom(v: number);
    static ngAcceptInputType_calloutPaddingBottom: number | string;
    /**
     * Gets or sets the strategy to use for avoiding collisions between the callouts in this layer. Leave unset for an automatic value.
    */
    get calloutCollisionMode(): CalloutCollisionMode;
    set calloutCollisionMode(v: CalloutCollisionMode);
    static ngAcceptInputType_calloutCollisionMode: CalloutCollisionMode | string;
    /**
     * Gets or sets the padding to add to the callout positioning. Leave unset for an automatic value.
    */
    get calloutPositionPadding(): number;
    set calloutPositionPadding(v: number);
    static ngAcceptInputType_calloutPositionPadding: number | string;
    /**
     * Gets or sets the stroke thickness for the callout backing. Leave unset for an automatic value.
    */
    get calloutStrokeThickness(): number;
    set calloutStrokeThickness(v: number);
    static ngAcceptInputType_calloutStrokeThickness: number | string;
    /**
     * Gets or sets the stroke thickness for the axis annotation backing. Leave unset for an automatic value.
    */
    get textStyle(): string;
    set textStyle(v: string);
    findByName(name: string): any;
    protected _styling(container: any, component: any, parent?: any): void;
    getItemValue(item: any, memberPathName: string): any;
    /**
     * Gets the value of a requested member path from the series.
    
    * @param memberPathName  * The property name of a valid member path for the series
    */
    getMemberPathValue(memberPathName: string): string;
    /**
     * Invalidates content of callout layer
    
    */
    invalidateCalloutContent(): void;
    /**
     * Resets actual visiable range margin
    
    */
    recalculateAxisRangeBuffer(): void;
    /**
     * Refresh axis buffer and callouts rendering
    
    */
    refreshAxisBufferAndCalloutPositions(): void;
    /**
     * Force the callout labels to reevaluate their positions.
    
    */
    refreshLabelPositions(): void;
    private _calloutStyleUpdating;
    /**
     * Event raised when updating style of callout layer
    */
    get calloutStyleUpdating(): EventEmitter<{
        sender: any;
        args: IgxCalloutStyleUpdatingEventArgs;
    }>;
    private _calloutRenderStyleUpdating;
    /**
     * Event raised when updating style of callout layer
    */
    get calloutRenderStyleUpdating(): EventEmitter<{
        sender: any;
        args: IgxCalloutRenderStyleUpdatingEventArgs;
    }>;
    private _calloutContentUpdating;
    /**
     * Raised to allow you to decide on the content for an automatically created callout.
    */
    get calloutContentUpdating(): EventEmitter<{
        sender: any;
        args: IgxCalloutContentUpdatingEventArgs;
    }>;
    private _calloutLabelUpdating;
    /**
     * Raised to allow you to decide on the label for an automatically created callout.
    */
    get calloutLabelUpdating(): EventEmitter<{
        sender: any;
        args: IgxCalloutLabelUpdatingEventArgs;
    }>;
    private _calloutSeriesSelecting;
    /**
     * Raised to allow you to select a target series for a data bound callout.
    */
    get calloutSeriesSelecting(): EventEmitter<{
        sender: any;
        args: IgxCalloutSeriesSelectingEventArgs;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxCalloutLayerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxCalloutLayerComponent, "igx-callout-layer", never, { "calloutExpandsAxisBufferEnabled": "calloutExpandsAxisBufferEnabled"; "calloutExpandsAxisBufferOnlyWhenVisible": "calloutExpandsAxisBufferOnlyWhenVisible"; "calloutExpandsAxisBufferOnInitialVisibility": "calloutExpandsAxisBufferOnInitialVisibility"; "calloutSuspendedWhenShiftingToVisible": "calloutSuspendedWhenShiftingToVisible"; "calloutExpandsAxisBufferMinHeight": "calloutExpandsAxisBufferMinHeight"; "calloutExpandsAxisBufferMaxHeight": "calloutExpandsAxisBufferMaxHeight"; "calloutExpandsAxisBufferMinWidth": "calloutExpandsAxisBufferMinWidth"; "calloutExpandsAxisBufferMaxWidth": "calloutExpandsAxisBufferMaxWidth"; "labelMemberPath": "labelMemberPath"; "xMemberPath": "xMemberPath"; "yMemberPath": "yMemberPath"; "keyMemberPath": "keyMemberPath"; "isCalloutOffsettingEnabled": "isCalloutOffsettingEnabled"; "labelFormat": "labelFormat"; "labelFormatSpecifiers": "labelFormatSpecifiers"; "contentMemberPath": "contentMemberPath"; "targetSeriesName": "targetSeriesName"; "targetSeries": "targetSeries"; "collisionChannel": "collisionChannel"; "allowedPositions": "allowedPositions"; "isAutoCalloutBehaviorEnabled": "isAutoCalloutBehaviorEnabled"; "useInterpolatedValueForAutoCalloutLabels": "useInterpolatedValueForAutoCalloutLabels"; "useSeriesColorForOutline": "useSeriesColorForOutline"; "useAutoContrastingLabelColors": "useAutoContrastingLabelColors"; "useItemColorForFill": "useItemColorForFill"; "useItemColorForOutline": "useItemColorForOutline"; "useValueForAutoCalloutLabels": "useValueForAutoCalloutLabels"; "highlightedValueLabelMode": "highlightedValueLabelMode"; "autoCalloutVisibilityMode": "autoCalloutVisibilityMode"; "calloutCornerRadius": "calloutCornerRadius"; "isCustomCalloutStyleEnabled": "isCustomCalloutStyleEnabled"; "isCustomCalloutRenderStyleEnabled": "isCustomCalloutRenderStyleEnabled"; "autoCalloutLabelPrecision": "autoCalloutLabelPrecision"; "calloutTextColor": "calloutTextColor"; "calloutLightTextColor": "calloutLightTextColor"; "calloutDarkTextColor": "calloutDarkTextColor"; "calloutBackground": "calloutBackground"; "shouldTruncateOnBoundaryCollisions": "shouldTruncateOnBoundaryCollisions"; "calloutInterpolatedValuePrecision": "calloutInterpolatedValuePrecision"; "calloutOutline": "calloutOutline"; "calloutLeaderBrush": "calloutLeaderBrush"; "calloutPaddingLeft": "calloutPaddingLeft"; "calloutPaddingTop": "calloutPaddingTop"; "calloutPaddingRight": "calloutPaddingRight"; "calloutPaddingBottom": "calloutPaddingBottom"; "calloutCollisionMode": "calloutCollisionMode"; "calloutPositionPadding": "calloutPositionPadding"; "calloutStrokeThickness": "calloutStrokeThickness"; "textStyle": "textStyle"; }, { "calloutStyleUpdating": "calloutStyleUpdating"; "calloutRenderStyleUpdating": "calloutRenderStyleUpdating"; "calloutContentUpdating": "calloutContentUpdating"; "calloutLabelUpdating": "calloutLabelUpdating"; "calloutSeriesSelecting": "calloutSeriesSelecting"; }, never, never>;
}
