import { EventEmitter } from '@angular/core';
import { IgxPropertyUpdatedEventArgs } from "igniteui-angular-core";
import { IgxSeriesLayerPropertyOverlayValueResolvingEventArgs } from "./igx-series-layer-property-overlay-value-resolving-event-args";
import { SeriesLayerPropertyOverlay as SeriesLayerPropertyOverlay_internal } from "./SeriesLayerPropertyOverlay";
/**
 * Represents an axis annotation
*/
export declare class IgxSeriesLayerPropertyOverlay {
    protected createImplementation(): SeriesLayerPropertyOverlay_internal;
    protected _implementation: any;
    /**
     * @hidden
     */
    get i(): SeriesLayerPropertyOverlay_internal;
    private onImplementationCreated;
    constructor();
    protected _provideImplementation(i: any): void;
    /**
     * Gets or sets whether this property overlay targets the source series instead of the current layer while the layer is present.
    */
    get isSourceOverlay(): boolean;
    set isSourceOverlay(v: boolean);
    static ngAcceptInputType_isSourceOverlay: boolean | string;
    /**
     * Gets or sets whether this property overlay should be applied to the source or target even if the source property wasn't mutated.
    */
    get isAlwaysApplied(): boolean;
    set isAlwaysApplied(v: boolean);
    static ngAcceptInputType_isAlwaysApplied: boolean | string;
    get internalPropertyName(): string;
    /**
     * Gets or sets the property to overlay on the series or series layer.
    */
    get propertyName(): string;
    set propertyName(v: string);
    /**
     * Gets or sets the property from which to get the current value, if different from property name.
    */
    get currentValuePropertyName(): string;
    set currentValuePropertyName(v: string);
    /**
     * Gets or sets the value to overlay on the series or series layer.
    */
    get value(): any;
    set value(v: any);
    findByName(name: string): any;
    private _propertyUpdated;
    /**
     * Event raised when a property value is changed.
    */
    get propertyUpdated(): EventEmitter<{
        sender: any;
        args: IgxPropertyUpdatedEventArgs;
    }>;
    private _valueResolving;
    get valueResolving(): EventEmitter<{
        sender: any;
        args: IgxSeriesLayerPropertyOverlayValueResolvingEventArgs;
    }>;
    protected _zoneRunner: (act: () => void) => void;
    protected _runInZone(act: () => void): void;
}
