import { AfterViewInit, ApplicationRef, ComponentFactoryResolver, ElementRef, Injector, OnChanges, OnDestroy, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
import { DashboardComponent } from '../dashboard.component';
import { GridStackService } from '../grid-stack.service';
import { DashboardLibraryPanelDirective } from '../widget-library/library-panel.directive';
import * as i0 from "@angular/core";
export declare class DashboardLibraryWidgetDirective implements OnChanges, AfterViewInit, OnDestroy {
    private el;
    private cfr;
    private appRef;
    private injector;
    private vcf;
    private libraryPanel;
    width: number;
    height: number;
    widgetData: any;
    dragMode: 'copy' | 'move';
    dragTemplate: TemplateRef<any>;
    dragDisabled: boolean;
    dragCopyStyle: boolean;
    hostBinding: boolean;
    hostBindingHandler: boolean;
    gridStackId: any;
    targetDashboard: DashboardComponent;
    isSetup: boolean;
    get gridStackService(): GridStackService;
    constructor(el: ElementRef, cfr: ComponentFactoryResolver, appRef: ApplicationRef, injector: Injector, vcf: ViewContainerRef, libraryPanel: DashboardLibraryPanelDirective);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    setup(): void;
    notify: (event: 'dragStart' | 'dragStop' | string) => (...args: any[]) => void;
    helper: (event: any) => any;
    copyCanvas(origin: any, target: any): void;
    setDragWidthHeight(el: any): void;
    copyStyle(source: any, target: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DashboardLibraryWidgetDirective, [null, null, null, null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DashboardLibraryWidgetDirective, "[dDashboardLibraryWidget]", never, { "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "widgetData": { "alias": "widgetData"; "required": false; }; "dragMode": { "alias": "dragMode"; "required": false; }; "dragTemplate": { "alias": "dragTemplate"; "required": false; }; "dragDisabled": { "alias": "dragDisabled"; "required": false; }; "dragCopyStyle": { "alias": "dragCopyStyle"; "required": false; }; "targetDashboard": { "alias": "targetDashboard"; "required": false; }; }, {}, never, never, false, never>;
}
