import { ReactElement, ReactNode } from 'react';
import { AriaButtonProps } from 'react-aria';
import { ListProps, ItemProps as BaseItemProps } from 'react-stately';
type ItemProps = {
    id: string;
    textValue: string;
    render: (dragButtonProps: AriaButtonProps) => ReactNode;
};
interface ReorderableListProps extends ListProps<ItemProps> {
    direction: 'vertical' | 'horizontal';
    isDisabled?: boolean;
    hasDragButton?: boolean;
    onMove: (newKeys: string[]) => void;
}
export declare function ReorderableList<T extends ItemProps = ItemProps>(props: ReorderableListProps): import("react/jsx-runtime").JSX.Element;
export declare namespace ReorderableList {
    var Item: ItemComponent;
}
type ItemComponent = <T>(props: BaseItemProps<T> & ItemProps) => ReactElement;
export {};
