import { type ReactNode } from "react"; import { type CardProps } from "../card/index.js"; export * from "./variants.js"; type SectionListSection = { key: string; title: string; description?: string; data: T[]; /** Content rendered inline next to the title (e.g. a badge) */ titleRight?: ReactNode; headerRight?: ReactNode; }; type SectionListCardOptions = Omit; type SectionListBaseProps = { sections: SectionListSection[]; renderItem: (item: T, index: number) => ReactNode; keyExtractor: (item: T, index: number) => string; onItemClick?: (item: T) => void; renderSectionHeader?: (section: SectionListSection, ctx: { isExpanded: boolean; toggle: () => void; }) => ReactNode; collapsible?: boolean; defaultCollapsedKeys?: Set; ListEmptyComponent?: ReactNode; SectionEmptyComponent?: ReactNode; gap?: "xs" | "sm" | "md" | "lg"; columns?: 1 | 2 | 3 | 4; /** Render a light bottom border between items instead of gap spacing */ divided?: boolean; /** Extract children from an item for recursive rendering */ getChildren?: (item: T) => T[] | undefined; }; type SectionListDefaultProps = SectionListBaseProps & { variant?: "default"; }; type SectionListCardProps = SectionListBaseProps & { variant: "card"; cardProps: SectionListCardOptions; }; type SectionListProps = SectionListDefaultProps | SectionListCardProps; export declare function SectionList(props: SectionListProps): import("react").JSX.Element; export type { SectionListSection, SectionListProps, SectionListCardOptions }; //# sourceMappingURL=index.d.ts.map