import { Destroy } from '@deja-js/component/core';
import { Position } from '@deja-js/component/core/graphics';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export interface DropCursorInfos {
    html?: string;
    width?: number;
    height?: number;
    className?: string;
}
export interface DragCursorInfos extends DropCursorInfos {
    position: Position;
    originalHtml: string;
    originalEvent: MouseEvent;
}
export declare class MouseDragDropService<T> extends Destroy {
    dragCursor$: BehaviorSubject<DragCursorInfos>;
    dropCursor$: BehaviorSubject<DropCursorInfos>;
    dragging$: BehaviorSubject<boolean>;
    context: T;
    private _isDragging;
    constructor();
    get isDragging(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<MouseDragDropService<any>, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MouseDragDropService<any>>;
}
