import { IgrSeries } from "./igr-series";
import { CalloutCollisionMode } from "./CalloutCollisionMode";
import { CalloutStyleUpdatingEventArgs } from "./igr-callout-style-updating-event-args";
import { CalloutContentUpdatingEventArgs } from "./igr-callout-content-updating-event-args";
import { CalloutLabelUpdatingEventArgs } from "./igr-callout-label-updating-event-args";
import { CalloutSeriesSelectingEventArgs } from "./igr-callout-series-selecting-event-args";
import { IgrAnnotationLayer, IIgrAnnotationLayerProps } from "./igr-annotation-layer";
import { CalloutLayer } from "./CalloutLayer";
/**
 * Represents an annotation layer that displays crosshair lines that cross through the closest value of the target series under the cursor.
*/
export declare class IgrCalloutLayer extends IgrAnnotationLayer<IIgrCalloutLayerProps> {
    protected createImplementation(): CalloutLayer;
    readonly i: CalloutLayer;
    constructor(props: IIgrCalloutLayerProps);
    /**
     * Gets or sets the label mapping property for the callouts.
    */
    labelMemberPath: string;
    /**
     * Gets or sets the label mapping property for the callouts.
    */
    xMemberPath: string;
    /**
     * Gets or sets the label mapping property for the callouts.
    */
    yMemberPath: string;
    /**
     * Gets or sets the key mapping property for the callouts.
    */
    keyMemberPath: string;
    /**
     * Gets or sets whether to allow the callouts to be variable distances from the target points, for suppporting collision modes.
    */
    isCalloutOffsettingEnabled: boolean;
    /**
     * Gets or sets the content mapping property for the callouts.
    */
    contentMemberPath: string;
    /**
     * Gets or sets the series to target this annotation to. If null, this annotation targets all series simultaneously.
    */
    targetSeries: IgrSeries;
    /**
     * Gets or sets a channel name to identify other callout layers within the chart to share collision information with.
    */
    collisionChannel: string;
    /**
     * Gets or sets how to select the final value to annotate.
    */
    isAutoCalloutBehaviorEnabled: boolean;
    /**
     * Gets or sets whether to use values, rather than labels for auto callout labels.
    */
    useValueForAutoCalloutLabels: boolean;
    /**
     * Gets or sets whether to allow for custom callout styles.
    */
    isCustomCalloutStyleEnabled: boolean;
    /**
     * Gets or sets the precision to use when values are used for the auto callout labels.
    */
    autoCalloutLabelPrecision: number;
    /**
     * Gets or sets the color to use for the callout text. Leave unset for an automatic value.
    */
    calloutTextColor: 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.
    */
    calloutBackground: string;
    /**
     * Gets or sets the precision to use displaying values for interpolated crosshair positions.
    */
    calloutInterpolatedValuePrecision: number;
    /**
     * Gets or sets the brush that specifies how the outlines for the callouts of the layer are painted.
    */
    calloutOutline: string;
    /**
     * Gets or sets the brush that specifies how the leader lines for the callouts of the layer are painted.
    */
    calloutLeaderBrush: 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.
    */
    calloutPaddingLeft: number;
    /**
     * 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.
    */
    calloutPaddingTop: number;
    /**
     * 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.
    */
    calloutPaddingRight: number;
    /**
     * 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.
    */
    calloutPaddingBottom: number;
    /**
     * Gets or sets the strategy to use for avoiding collisions between the callouts in this layer. Leave unset for an automatic value.
    */
    calloutCollisionMode: CalloutCollisionMode;
    /**
     * Gets or sets the padding to add to the callout positioning. Leave unset for an automatic value.
    */
    calloutPositionPadding: number;
    /**
     * Gets or sets the stroke thickness for the callout backing. Leave unset for an automatic value.
    */
    calloutStrokeThickness: number;
    /**
     * Gets or sets the stroke thickness for the axis annotation backing. Leave unset for an automatic value.
    */
    textStyle: string;
    /**
     * Invalidates content of callout layer
    
    */
    invalidateCalloutContent(): void;
    private _calloutStyleUpdating;
    private _calloutStyleUpdating_wrapped;
    /**
     * Event raised when updating style of callout layer
    */
    calloutStyleUpdating: (s: IgrCalloutLayer, e: CalloutStyleUpdatingEventArgs) => void;
    private _calloutContentUpdating;
    private _calloutContentUpdating_wrapped;
    /**
     * Raised to allow you to decide on the content for an automatically created callout.
    */
    calloutContentUpdating: (s: IgrCalloutLayer, e: CalloutContentUpdatingEventArgs) => void;
    private _calloutLabelUpdating;
    private _calloutLabelUpdating_wrapped;
    /**
     * Raised to allow you to decide on the label for an automatically created callout.
    */
    calloutLabelUpdating: (s: IgrCalloutLayer, e: CalloutLabelUpdatingEventArgs) => void;
    private _calloutSeriesSelecting;
    private _calloutSeriesSelecting_wrapped;
    /**
     * Raised to allow you to select a target series for a data bound callout.
    */
    calloutSeriesSelecting: (s: IgrCalloutLayer, e: CalloutSeriesSelectingEventArgs) => void;
}
export interface IIgrCalloutLayerProps extends IIgrAnnotationLayerProps {
    /**
     * Gets or sets the label mapping property for the callouts.
    */
    labelMemberPath?: string;
    /**
     * Gets or sets the label mapping property for the callouts.
    */
    xMemberPath?: string;
    /**
     * Gets or sets the label mapping property for the callouts.
    */
    yMemberPath?: string;
    /**
     * Gets or sets the key mapping property for the callouts.
    */
    keyMemberPath?: string;
    /**
     * Gets or sets whether to allow the callouts to be variable distances from the target points, for suppporting collision modes.
    */
    isCalloutOffsettingEnabled?: boolean | string;
    /**
     * Gets or sets the content mapping property for the callouts.
    */
    contentMemberPath?: string;
    /**
     * Gets or sets the series to target this annotation to. If null, this annotation targets all series simultaneously.
    */
    targetSeries?: IgrSeries;
    /**
     * Gets or sets a channel name to identify other callout layers within the chart to share collision information with.
    */
    collisionChannel?: string;
    /**
     * Gets or sets how to select the final value to annotate.
    */
    isAutoCalloutBehaviorEnabled?: boolean | string;
    /**
     * Gets or sets whether to use values, rather than labels for auto callout labels.
    */
    useValueForAutoCalloutLabels?: boolean | string;
    /**
     * Gets or sets whether to allow for custom callout styles.
    */
    isCustomCalloutStyleEnabled?: boolean | string;
    /**
     * Gets or sets the precision to use when values are used for the auto callout labels.
    */
    autoCalloutLabelPrecision?: number | string;
    /**
     * Gets or sets the color to use for the callout text. Leave unset for an automatic value.
    */
    calloutTextColor?: 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.
    */
    calloutBackground?: string;
    /**
     * Gets or sets the precision to use displaying values for interpolated crosshair positions.
    */
    calloutInterpolatedValuePrecision?: number | string;
    /**
     * Gets or sets the brush that specifies how the outlines for the callouts of the layer are painted.
    */
    calloutOutline?: string;
    /**
     * Gets or sets the brush that specifies how the leader lines for the callouts of the layer are painted.
    */
    calloutLeaderBrush?: 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.
    */
    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.
    */
    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.
    */
    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.
    */
    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.
    */
    calloutCollisionMode?: CalloutCollisionMode | string;
    /**
     * Gets or sets the padding to add to the callout positioning. Leave unset for an automatic value.
    */
    calloutPositionPadding?: number | string;
    /**
     * Gets or sets the stroke thickness for the callout backing. Leave unset for an automatic value.
    */
    calloutStrokeThickness?: number | string;
    /**
     * Gets or sets the stroke thickness for the axis annotation backing. Leave unset for an automatic value.
    */
    textStyle?: string;
    /**
     * Event raised when updating style of callout layer
    */
    calloutStyleUpdating?: (s: IgrCalloutLayer, e: CalloutStyleUpdatingEventArgs) => void;
    /**
     * Raised to allow you to decide on the content for an automatically created callout.
    */
    calloutContentUpdating?: (s: IgrCalloutLayer, e: CalloutContentUpdatingEventArgs) => void;
    /**
     * Raised to allow you to decide on the label for an automatically created callout.
    */
    calloutLabelUpdating?: (s: IgrCalloutLayer, e: CalloutLabelUpdatingEventArgs) => void;
    /**
     * Raised to allow you to select a target series for a data bound callout.
    */
    calloutSeriesSelecting?: (s: IgrCalloutLayer, e: CalloutSeriesSelectingEventArgs) => void;
}
