import { default as Sortable } from 'sortablejs';

declare const pluginName = "tree-sortable";
type TreeSortableOptions = Sortable.Options & {
    /**
     * Function to get the drop zone element for the sortable item.
     * Receives the target element and returns the drop zone element or null/undefined if not applicable.
     */
    getDropZone?: (el: HTMLElement) => HTMLElement | null | undefined;
    /**
     * Percentage (0-1) indicating the threshold for inserting after a zone.
     */
    insertAfterZonePercentage?: number;
    /**
     * Percentage (0-1) indicating the threshold for inserting before a zone.
     */
    insertBeforeZonePercentage?: number;
    /**
     * If true, enables tree sorting functionality.
     */
    [pluginName]?: boolean;
};
declare class TreeSortable extends Sortable {
    constructor(element: HTMLElement, options: TreeSortableOptions);
    static create(element: HTMLElement, options?: TreeSortableOptions): Sortable;
}
export declare const getTreeSortableOptions: (options: TreeSortableOptions) => TreeSortableOptions;
export { TreeSortable };
export type { TreeSortableOptions };
