/// <reference types="../../index.d.ts" />
import { default as Sortable } from 'sortablejs';
import { PublicLitElement as LitElement, JsxNode, TargetedEvent } from '@arcgis/lumina';
import { InteractiveComponent } from '../../utils/interactive';
import { Layout } from '../interfaces';
import { DragDetail, SortableComponent } from '../../utils/sortableComponent';

/**
 * @deprecated Use the `calcite-block-group` component instead.
 * @slot  - A slot for adding sortable items.
 */
export declare class SortableList extends LitElement {
    /** When provided, the method will be called to determine whether the element can move from the list. */
    canPull: (detail: DragDetail) => boolean;
    /** When provided, the method will be called to determine whether the element can be added from another list. */
    canPut: (detail: DragDetail) => boolean;
    /**
     * When true, disabled prevents interaction. This state shows items with lower opacity/grayed.
     *
     * @default false
     */
    disabled: boolean;
    /** Specifies which items inside the element should be draggable. */
    dragSelector?: string;
    /**
     * The list's group identifier.
     *
     * To drag elements from one list into another, both lists must have the same group value.
     */
    group?: string;
    /**
     * The selector for the handle elements.
     *
     * @default "calcite-handle"
     */
    handleSelector: string;
    /**
     * Indicates the horizontal or vertical orientation of the component.
     *
     * @default "vertical"
     */
    layout: Extract<"horizontal" | "vertical" | "grid", Layout>;
    /**
     * When true, content is waiting to be loaded. This state shows a busy indicator.
     *
     * @default false
     */
    loading: boolean;
    /** Emitted when the order of the list has changed. */
    readonly calciteListOrderChange: TargetedEvent<this, void>;
}
