import React from "react";
import { type SizeNames } from "../../../system/Sizes";
type Props = React.ComponentPropsWithoutRef<"ul"> & {
/**
* @private
* This prop is for internal logic. Do not use.
*/
_DO_NOT_USE_isRoot?: boolean;
};
type StaticComponents = {
Item: typeof Item;
Padding: typeof Padding;
/**
* Sometimes you want to put the sub-list in another component, like this:
* ```tsx
* const MySubList = ({ className }: { className?: string }) => (
*
*
*
* Custom nested list - option A
*
*
*
*
* Custom nested list - option B
*
*
*
*);
*```
*
* When you do, the `UnorderedList.Item` component won't recognize it as a sub-list, because
* it only considers the `UnorderedList` component as a sub-list.
* In case you need your sub-list to be in a separate component, you can use the `UnorderedList.Indent`
* component to tell the `UnorderedList.Item` component that it should consider the children as a sub-list.
*
* The child of `UnorderedList.Indent` should accept a `className` prop for this to work.
*/
Indent: typeof Indent;
};
/**
* Component delivering padding. Can be used to apply padding
* to list item, but also to the content of a list (e.g. the
* list or sublist title/description).
*/
declare const Padding: React.FC<{
children?: React.ReactNode;
className?: string;
}>;
type ItemProps = React.ComponentPropsWithoutRef<"li"> & {
/**
* @private
* This prop is for internal logic. Do not use.
*/
_DO_NOT_USE_index?: number;
};
declare const Item: React.FC;
export declare const UnorderedList: React.FC & StaticComponents;
declare const Indent: React.FC<{
children?: React.ReactNode;
indentSize?: Exclude;
/**
* ponytail: accepted but not applied. `UnorderedList.Item` spreads a
* `ui:pl-4` className onto `Indent`, which renders no element of its own and
* so has nowhere to put it — the class has silently been dropped since this
* component was written. Declaring the prop keeps that behaviour byte-for-byte
* while satisfying React 19's typings; merging it into the children's
* className would fix the indent but is a visual change, so it belongs in its
* own PR.
*/
className?: string;
}>;
export { UnorderedList as UList };