import { DropTarget } from 'dnd-core';
import { DropTargetSpec } from '../drop-target-specification';
import { DropTargetMonitor } from '../target-monitor';
export declare class Target implements DropTarget {
    private spec;
    private monitor;
    constructor(spec: DropTargetSpec, monitor: DropTargetMonitor);
    withChangeDetection<T>(fn: () => T): T;
    receiveMonitor(monitor: any): void;
    canDrop(): boolean;
    hover(): void;
    drop(): unknown;
}
export declare function createTargetFactory(spec: DropTargetSpec): (monitor: any) => DropTarget;
