import { Point } from '@nekobird/rocket';
import { SortableListConfig } from './config';
import { ElementManager } from './element-manager';
import { EventManager } from './event-manager';
import { SortableListTransition } from './sortable-transition';
import { Dummy } from './dummy';
import { ActiveItem } from './active-item';
export declare class SortableList {
    config: SortableListConfig;
    elementManager: ElementManager;
    eventManager: EventManager;
    dummy: Dummy;
    activeItem: ActiveItem;
    transition: SortableListTransition;
    isActive: boolean;
    hasMoved: boolean;
    targetItem?: HTMLElement;
    activeIdentifier?: string;
    activeItemPointOffset?: Point;
    group: any;
    constructor(config?: Partial<SortableListConfig>);
    setConfig(config?: Partial<SortableListConfig>): void;
    initialize(): void;
    readonly groupElements: HTMLElement[] | false;
    readonly itemElements: HTMLElement[] | false;
    preventDefault: (event: TouchEvent) => void;
    disableEventsOnActivate(): void;
    enableEventsOnDeactivate(): void;
    activate({ identifier, downData }: {
        identifier: any;
        downData: any;
    }): void;
    move({ clientX: x, clientY: y }: {
        clientX: any;
        clientY: any;
    }): void;
    prepareMove(): void;
    prepareAndInsertDummy(): void;
    deactivate(): void;
    scrollCheck(): void;
}
