import { CollectionOptimisticActions, FiltersMap, TypedEmitter } from '@wix/bex-core';
import { MultiLevelSortingState, SortableColumn } from './MultiLevelSortingState';
import { CollectionDragAndDropState } from '../components/DragAndDrop';
export interface MultiLevelSortingStateDragAndDropParams<T, F extends FiltersMap> {
    readonly multiLevelSortingState: MultiLevelSortingState<T, F>;
    readonly modalsContainerRef: {
        current: HTMLElement | null | undefined;
    };
}
export declare class MultiLevelSortingStateDragAndDrop<T, F extends FiltersMap> {
    readonly multiLevelSortingState: MultiLevelSortingState<T, F>;
    readonly multiLevelSortingActions: CollectionOptimisticActions<SortableColumn, {}>;
    readonly collectionDragAndDropState: CollectionDragAndDropState<SortableColumn, {}> | null;
    forceRenderIndexes: number[] | undefined;
    events: TypedEmitter<{
        beforeReorder: () => unknown;
        afterReorder: (params: {
            indexBefore: number;
            indexAfter: number;
            columnId: string;
        }) => unknown;
    }>;
    constructor(params: MultiLevelSortingStateDragAndDropParams<T, F>);
    get _dnd(): import("../components/DragAndDrop").DragAndDropState<SortableColumn, {}> | undefined;
    get reportBi(): import("@wix/bex-core").ReportBI;
    get container(): import("@wix/bex-core").WixPatternsContainer;
    get collection(): import("@wix/bex-core").CollectionState<SortableColumn, FiltersMap>;
    _onSortReorder(fromColumnId: string, overColumnId: string): void;
    init(): () => void;
}
//# sourceMappingURL=MultiLevelSortingDragAndDrop.d.ts.map