import { EventEmitter } from '@angular/core';
import { IgxAxisComponent } from "./igx-axis-component";
import { IgxSeriesComponent } from "./igx-series-component";
import { IgxUserAnnotationCollection } from "./igx-user-annotation-collection";
import { IgxUserAnnotationInformationEventArgs } from "./igx-user-annotation-information-event-args";
import { IgxUserAxisAnnotationStylingEventArgs } from "./igx-user-axis-annotation-styling-event-args";
import { IgxUserSliceAnnotationStylingEventArgs } from "./igx-user-slice-annotation-styling-event-args";
import { IgxUserStripAnnotationStylingEventArgs } from "./igx-user-strip-annotation-styling-event-args";
import { IgxUserPointAnnotationStylingEventArgs } from "./igx-user-point-annotation-styling-event-args";
import { IgxUserAnnotationInformation } from "./igx-user-annotation-information";
import { UserAnnotationLayer } from "./UserAnnotationLayer";
import * as i0 from "@angular/core";
/**
 * Represents an user annotation layer that can define UserPointAnnotation, UserSliceAnnotation, UserStripAnnotation
*/
export declare class IgxUserAnnotationLayerComponent extends IgxSeriesComponent {
    protected createImplementation(): UserAnnotationLayer;
    constructor();
    /**
                             * @hidden
                             */
    get i(): UserAnnotationLayer;
    private _annotations;
    /**
     * Gets user annotations
    */
    get annotations(): IgxUserAnnotationCollection;
    set annotations(v: IgxUserAnnotationCollection);
    static ngAcceptInputType_annotations: IgxUserAnnotationCollection | string;
    get isAnnotationLayer(): boolean;
    static ngAcceptInputType_isAnnotationLayer: boolean | string;
    get isUserAnnotationLayer(): boolean;
    static ngAcceptInputType_isUserAnnotationLayer: boolean | string;
    /**
     * Gets if the series should appear in any legends.
    */
    get isUsableInLegend(): boolean;
    static ngAcceptInputType_isUsableInLegend: boolean | string;
    findByName(name: string): any;
    loadAnnotationsFromJson(jsonString: string): void;
    saveAnnotationsToJson(): string;
    cancelAnnotationFlow(annotationFlowID: string): void;
    finishAnnotationFlow(info: IgxUserAnnotationInformation): void;
    bindAxes(axes: IgxAxisComponent[]): void;
    bindSeries(series: IgxSeriesComponent[]): void;
    private _userAnnotationInformationRequested;
    get userAnnotationInformationRequested(): EventEmitter<{
        sender: any;
        args: IgxUserAnnotationInformationEventArgs;
    }>;
    private _stylingAxisAnnotation;
    /**
     * Event raised when updating style of UserAxisAnnotation
    */
    get stylingAxisAnnotation(): EventEmitter<{
        sender: any;
        args: IgxUserAxisAnnotationStylingEventArgs;
    }>;
    private _stylingSliceAnnotation;
    /**
     * Event raised when updating style of UserSliceAnnotation
    */
    get stylingSliceAnnotation(): EventEmitter<{
        sender: any;
        args: IgxUserSliceAnnotationStylingEventArgs;
    }>;
    private _stylingStripAnnotation;
    /**
     * Event raised when updating style of UserStripAnnotation
    */
    get stylingStripAnnotation(): EventEmitter<{
        sender: any;
        args: IgxUserStripAnnotationStylingEventArgs;
    }>;
    private _stylingPointAnnotation;
    /**
     * Event raised when updating style of UserPointAnnotation
    */
    get stylingPointAnnotation(): EventEmitter<{
        sender: any;
        args: IgxUserPointAnnotationStylingEventArgs;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxUserAnnotationLayerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxUserAnnotationLayerComponent, "igx-user-annotation-layer", never, { "annotations": { "alias": "annotations"; "required": false; }; }, { "userAnnotationInformationRequested": "userAnnotationInformationRequested"; "stylingAxisAnnotation": "stylingAxisAnnotation"; "stylingSliceAnnotation": "stylingSliceAnnotation"; "stylingStripAnnotation": "stylingStripAnnotation"; "stylingPointAnnotation": "stylingPointAnnotation"; }, never, never, true, never>;
}
