import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
import { Subscription } from 'rxjs';
import { LabelHub } from './label.hub';
import { IClickLabelsEvent, IDeleteLabelsEvent, IHoverInLabelsEvent, ILabelingEvent, ISafeAny, ITableMatrix, ITableOperationRecord } from './label.type';
export declare class BixiLabelCoreComponent implements OnInit, OnDestroy {
    sanitizer: DomSanitizer;
    private cdr;
    subscription: Subscription;
    _engine: string;
    url: SafeResourceUrl;
    hoverInLabelsEvent: IHoverInLabelsEvent | null;
    labelingEvent: ILabelingEvent | null;
    dragBoundary: string;
    iframe: ViewContainerRef;
    hub: LabelHub;
    set engine(val: string);
    get engine(): string;
    labelTooltipContent: TemplateRef<ISafeAny> | undefined;
    labelTooltipDisabled: boolean;
    labelModalTitle: string;
    labelModalDisabled: boolean;
    labelModalContent: TemplateRef<ISafeAny> | undefined;
    startLabeling: EventEmitter<ILabelingEvent>;
    deleteLabels: EventEmitter<IDeleteLabelsEvent>;
    clickLabels: EventEmitter<IClickLabelsEvent>;
    pdfLoadFailed: EventEmitter<any>;
    pdfScrolling: EventEmitter<any>;
    mergeTables: EventEmitter<ITableMatrix[]>;
    splitTable: EventEmitter<ITableMatrix[]>;
    tblOperationRecords: EventEmitter<ITableOperationRecord[]>;
    constructor(sanitizer: DomSanitizer, cdr: ChangeDetectorRef);
    onLoad(): void;
    get api(): any;
    ngOnInit(): void;
    onCloseLabelModal(): void;
    messageHandler: (e: MessageEvent) => void;
    ngOnDestroy(): void;
}
