import { DropEffect, EffectAllowed } from './dnd-types';
export interface DragDropData {
    data?: any;
    type?: string;
}
export interface DndEvent extends DragEvent {
    _dndUsingHandle?: boolean;
    _dndDropzoneActive?: true;
}
export type DndDragImageOffsetFunction = (event: DragEvent, dragImage: Element) => {
    x: number;
    y: number;
};
export declare const DROP_EFFECTS: DropEffect[];
export declare const CUSTOM_MIME_TYPE = "application/x-dnd";
export declare const JSON_MIME_TYPE = "application/json";
export declare const MSIE_MIME_TYPE = "Text";
export declare function getWellKnownMimeType(event: DragEvent): string | null;
export declare function setDragData(event: DragEvent, data: DragDropData, effectAllowed: EffectAllowed): void;
export declare function getDropData(event: DragEvent, dragIsExternal: boolean): DragDropData;
export declare function filterEffects(effects: DropEffect[], allowed: EffectAllowed | DropEffect): DropEffect[];
export declare function getDirectChildElement(parentElement: Element, childElement: Element): Element | null;
export declare function shouldPositionPlaceholderBeforeElement(event: DragEvent, element: Element, horizontal: boolean): boolean;
export declare function calculateDragImageOffset(event: DragEvent, dragImage: Element): {
    x: number;
    y: number;
};
export declare function setDragImage(event: DragEvent, dragImage: Element, offsetFunction: DndDragImageOffsetFunction): void;
