import { NgForOfContext } from "@angular/common";
import { EventEmitter, TemplateRef } from "@angular/core";
import { CommandKey, SortableEvent } from "../../types/ngx-sortable.types";
import * as i0 from "@angular/core";
export declare class NgxSortableComponent {
    items: any[];
    name: string;
    showHeader: boolean;
    removeOnDropOutside: boolean;
    dragStart: EventEmitter<SortableEvent>;
    dropped: EventEmitter<SortableEvent>;
    moveDown: EventEmitter<SortableEvent>;
    moveUp: EventEmitter<SortableEvent>;
    remove: EventEmitter<SortableEvent>;
    listStyle: any;
    listSorted: EventEmitter<any>;
    itemTemplate: TemplateRef<NgForOfContext<any>>;
    arrowKeySort: boolean;
    commandKey: CommandKey;
    selectedItem: any;
    draggedIndex: number;
    onDragOverIndex: number;
    constructor();
    onArrowKeyDown($event: KeyboardEvent): void;
    onDragEnd(): void;
    selectItem(item: any): void;
    onMoveUp($event?: any): void;
    onMoveDown($event?: any): void;
    onDrop($event: any, index: number): void;
    allowDrop($event: any, index: number): void;
    onDragStart($event: any, index: number): void;
    handleDrop(droppedIndex: number): void;
    swapElements(oldIndex: number, newIndex: number): void;
    onRemoveDrop(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxSortableComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgxSortableComponent, "ngx-sortable", never, { "items": "items"; "name": "name"; "showHeader": "showHeader"; "removeOnDropOutside": "removeOnDropOutside"; "listStyle": "listStyle"; "arrowKeySort": "arrowKeySort"; "commandKey": "commandKey"; }, { "dragStart": "dragStart"; "dropped": "dropped"; "moveDown": "moveDown"; "moveUp": "moveUp"; "remove": "remove"; "listSorted": "listSorted"; }, ["itemTemplate"], never, false>;
}
