import { EventEmitter } from '@angular/core';
import { IgxSeriesComponent } from "./igx-series-component";
import { CalloutCollisionMode } from "./CalloutCollisionMode";
import { IgxCalloutStyleUpdatingEventArgs } from "./igx-callout-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 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 suppporting collision modes.
    */
    get isCalloutOffsettingEnabled(): boolean;
    set isCalloutOffsettingEnabled(v: boolean);
    static ngAcceptInputType_isCalloutOffsettingEnabled: boolean | 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);
    /**
     * 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 useValueForAutoCalloutLabels(): boolean;
    set useValueForAutoCalloutLabels(v: boolean);
    static ngAcceptInputType_useValueForAutoCalloutLabels: boolean | 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 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 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 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;
    /**
     * Invalidates content of callout layer
    
    */
    invalidateCalloutContent(): void;
    private _calloutStyleUpdating;
    /**
     * Event raised when updating style of callout layer
    */
    get calloutStyleUpdating(): EventEmitter<{
        sender: any;
        args: IgxCalloutStyleUpdatingEventArgs;
    }>;
    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, { "labelMemberPath": "labelMemberPath"; "xMemberPath": "xMemberPath"; "yMemberPath": "yMemberPath"; "keyMemberPath": "keyMemberPath"; "isCalloutOffsettingEnabled": "isCalloutOffsettingEnabled"; "contentMemberPath": "contentMemberPath"; "targetSeriesName": "targetSeriesName"; "targetSeries": "targetSeries"; "collisionChannel": "collisionChannel"; "isAutoCalloutBehaviorEnabled": "isAutoCalloutBehaviorEnabled"; "useValueForAutoCalloutLabels": "useValueForAutoCalloutLabels"; "isCustomCalloutStyleEnabled": "isCustomCalloutStyleEnabled"; "autoCalloutLabelPrecision": "autoCalloutLabelPrecision"; "calloutTextColor": "calloutTextColor"; "calloutBackground": "calloutBackground"; "calloutInterpolatedValuePrecision": "calloutInterpolatedValuePrecision"; "calloutOutline": "calloutOutline"; "calloutLeaderBrush": "calloutLeaderBrush"; "calloutPaddingLeft": "calloutPaddingLeft"; "calloutPaddingTop": "calloutPaddingTop"; "calloutPaddingRight": "calloutPaddingRight"; "calloutPaddingBottom": "calloutPaddingBottom"; "calloutCollisionMode": "calloutCollisionMode"; "calloutPositionPadding": "calloutPositionPadding"; "calloutStrokeThickness": "calloutStrokeThickness"; "textStyle": "textStyle"; }, { "calloutStyleUpdating": "calloutStyleUpdating"; "calloutContentUpdating": "calloutContentUpdating"; "calloutLabelUpdating": "calloutLabelUpdating"; "calloutSeriesSelecting": "calloutSeriesSelecting"; }, never, never>;
}
