/// <reference types="react" />
import { KanbanState } from '../../state/KanbanState/KanbanState';
import { FiltersMap } from '@wix/bex-core';
import { DragStartEvent, DragEndEvent } from '@wix/wix-style-react-incubator/dnd-kit/core';
export interface KanbanDragAndDropStateParams<T, S, F extends FiltersMap> {
    kanbanState: KanbanState<T, S, F>;
}
export declare class KanbanDragAndDropState<T, S, F extends FiltersMap> {
    readonly kanbanState: KanbanState<T, S, F>;
    activeId: string | null;
    status: 'start' | 'over' | 'end' | 'cancel';
    _moveId: string;
    constructor(params: KanbanDragAndDropStateParams<T, S, F>);
    setActiveId: (id: string | null) => void;
    private _parseItemId;
    private _findItemById;
    private _findStageByItemId;
    handleDragStart: (event: DragStartEvent) => void;
    handleDragCancel: () => void;
    handleDragEnd: (event: DragEndEvent) => Promise<void>;
    init(): void;
    get keyboardCodes(): {
        start: string[];
        cancel: string[];
        end: string[];
    };
}
export declare const KanbanCardDragAndDrop: {
    KanbanDragAndDropContext: (<T, S, F extends FiltersMap>(props: import("./KanbanDragAndDropContext").KanbanDragAndDropContextProps<T, S, F>) => import("react").JSX.Element) & {
        displayName: string;
    };
    DraggableCard: (<T_1, S_1, F_1 extends FiltersMap>(props: import("./KanbanDraggableCardItem").KanbanDraggableCardItemProps<T_1, S_1, F_1>) => import("react").JSX.Element) & {
        displayName: string;
    };
    DragOverlay: (<T_2, S_2, F_2 extends FiltersMap>(props: import("./KanbanDragOverlay").KanbanDragOverlayProps<T_2, S_2, F_2>) => import("react").ReactPortal) & {
        displayName: string;
    };
};
//# sourceMappingURL=KanbanCardDragAndDrop.d.ts.map