import { OnInit, OnDestroy, AfterViewInit, ElementRef, EventEmitter, Renderer2 } from '@angular/core';
import { DrakeStoreService } from '../services/drake-store.service';
import * as i0 from "@angular/core";
/**
 * Makes the container droppable and children draggable.
 *
 * @export
 */
export declare class DroppableDirective implements OnInit, OnDestroy, AfterViewInit {
    private el;
    private renderer;
    private drakesService;
    model: any;
    copy: boolean;
    removeOnSpill: boolean;
    ngxDroppable: string;
    direction: 'vertical' | 'horizontal' | 'mixed';
    drop: EventEmitter<any>;
    drag: EventEmitter<any>;
    over: EventEmitter<any>;
    out: EventEmitter<any>;
    remove: EventEmitter<any>;
    cancel: EventEmitter<any>;
    get container(): any;
    get dropZone(): string;
    set dropZone(val: string);
    defaultZone: string;
    _dropZone: string;
    constructor(el: ElementRef, renderer: Renderer2, drakesService: DrakeStoreService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DroppableDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DroppableDirective, "[ngxDroppable]", never, { "model": { "alias": "model"; "required": false; }; "copy": { "alias": "copy"; "required": false; }; "removeOnSpill": { "alias": "removeOnSpill"; "required": false; }; "ngxDroppable": { "alias": "ngxDroppable"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "dropZone": { "alias": "dropZone"; "required": false; }; }, { "drop": "drop"; "drag": "drag"; "over": "over"; "out": "out"; "remove": "remove"; "cancel": "cancel"; }, never, never, false, never>;
}
