import { EmbeddedViewRef, TemplateRef, ViewContainerRef, OnInit, OnDestroy } from '@angular/core';
import { DndService } from '@ng-dnd/core';
import { Subscription } from 'rxjs';
import { DndCorePreviewTemplateContext, LayoutDragItem } from '../../directives';
import * as i0 from "@angular/core";
/**
 * Component used for displaying drag preview
 */
export declare class DndCorePreviewComponent implements OnInit, OnDestroy {
    protected viewContainer: ViewContainerRef;
    protected dnd: DndService;
    /**
     * Instance of view for drag preview
     */
    protected dragPreviewView: EmbeddedViewRef<DndCorePreviewTemplateContext> | undefined | null;
    /**
     * Instance of html element for drag preview
     */
    protected dragPreviewElement: HTMLElement | undefined | null;
    /**
     * Subscriptions created during initialization
     */
    protected initSubscriptions: Subscription;
    /**
     * Instance of dnd core preview template
     */
    protected dndCorePreviewTemplate?: TemplateRef<DndCorePreviewTemplateContext>;
    constructor(viewContainer: ViewContainerRef, dnd: DndService);
    /**
     * Initialize component
     */
    ngOnInit(): void;
    /**
     * Called when component is destroyed
     */
    ngOnDestroy(): void;
    /**
     * Renders drag preview and returns html element
     */
    protected renderDragPreview(dragData: LayoutDragItem): HTMLElement | null;
    /**
     * Removes rendered drag preview
     */
    protected removeDragPreview(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DndCorePreviewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DndCorePreviewComponent, "dnd-core-drag-preview", never, {}, {}, ["dndCorePreviewTemplate"], never, false, never>;
}
//# sourceMappingURL=dndCorePreview.component.d.ts.map