import { DraggableAttributes } from "@dnd-kit/core";
import { SyntheticListenerMap } from "@dnd-kit/core/dist/hooks/utilities";
import React from "react";
import { PointerActivationConstraint } from "@dnd-kit/core/dist/sensors/pointer/AbstractPointerSensor";
declare type IdType = string | number;
export interface Props<T> {
    list?: T[];
    onChange?: (list: T[]) => void;
    rowKey: IdType | ((val: T) => IdType);
    activationConstraint?: PointerActivationConstraint;
    children: (params: {
        item: T;
        index: number;
        style: React.CSSProperties;
        props: any;
        setActivatorNodeRef: (element: HTMLElement | null) => void;
        listeners: SyntheticListenerMap;
        attributes: DraggableAttributes;
    }) => React.ReactElement<HTMLElement>;
}
export default function Sortable<T extends Record<string, any>>({ list, onChange, rowKey, children, activationConstraint, }: Props<T>): JSX.Element;
export interface SortableItemProps<T> {
    id: number;
    index: number;
    disabled?: boolean;
    children: (params: {
        item: T;
        index: number;
        style: React.CSSProperties;
        props: any;
        setActivatorNodeRef: (element: HTMLElement | null) => void;
        listeners: SyntheticListenerMap;
        attributes: DraggableAttributes;
    }) => React.ReactElement<HTMLElement>;
    item: T;
}
export declare function SortableItem<T>({ id, index, item, children, disabled, }: SortableItemProps<T>): React.ReactElement<HTMLElement, string | React.JSXElementConstructor<any>>;
export {};
