import { ElementRef } from '@angular/core';
import { DejaClipboardService, Destroy, IdService } from '@deja-js/component/core';
import * as i0 from "@angular/core";
export declare class DejaDraggableDirective extends Destroy {
    private clipboardService;
    draggable: boolean;
    dragdropid: string;
    private draginfokey;
    private objectKey;
    private elementKey;
    private uuidKey;
    private _context;
    set context(value: IDejaDragContext);
    get context(): IDejaDragContext;
    constructor(elementRef: ElementRef, clipboardService: DejaClipboardService, idService: IdService);
    static ɵfac: i0.ɵɵFactoryDeclaration<DejaDraggableDirective, [null, { optional: true; }, null]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DejaDraggableDirective, "[deja-draggable]", never, { "context": "deja-draggable"; }, {}, never>;
}
export interface IDejaDragEvent extends DragEvent {
    dragInfo: Record<string, unknown>;
    dragObject: unknown;
    dragElement: HTMLElement;
}
export interface IDejaDragContext {
    object?: unknown;
    dragstartcallback?: (event: IDejaDragEvent) => void;
    dragendcallback?: (event: IDejaDragEvent) => void;
}
