import { Ref } from 'react'; import { BoxProps, ElementProps, Factory, MantineSpacing, StylesApiProps } from '../../core'; export type OverflowListStylesNames = 'root'; export type OverflowListCssVariables = { root: '--ol-gap'; }; export interface OverflowListProps extends BoxProps, StylesApiProps, ElementProps<'div', 'children'> { /** Array of items to display */ data: T[]; /** Function to render item */ renderItem: (item: T, index: number) => React.ReactNode; /** Function to render hidden items */ renderOverflow: (items: T[]) => React.ReactNode; /** Number of rows to display @default 1 */ maxRows?: number; /** Maximum number of visible items @default Infinity */ maxVisibleItems?: number; /** Key of `theme.spacing` or any valid CSS value for `gap`, numbers are converted to rem @default 'xs' */ gap?: MantineSpacing; ref?: Ref; } export type OverflowListFactory = Factory<{ props: OverflowListProps; ref: HTMLDivElement; stylesNames: OverflowListStylesNames; vars: OverflowListCssVariables; signature: (props: OverflowListProps) => React.JSX.Element; }>; export declare const OverflowList: ((props: OverflowListProps) => React.JSX.Element) & import("../..").ThemeExtend<{ props: OverflowListProps; ref: HTMLDivElement; stylesNames: OverflowListStylesNames; vars: OverflowListCssVariables; signature: (props: OverflowListProps) => React.JSX.Element; }> & import("../..").ComponentClasses<{ props: OverflowListProps; ref: HTMLDivElement; stylesNames: OverflowListStylesNames; vars: OverflowListCssVariables; signature: (props: OverflowListProps) => React.JSX.Element; }> & Record & { varsResolver: import("../..").VarsResolver<{ props: OverflowListProps; ref: HTMLDivElement; stylesNames: OverflowListStylesNames; vars: OverflowListCssVariables; signature: (props: OverflowListProps) => React.JSX.Element; }>; } & import("../..").FactoryComponentWithProps<{ props: OverflowListProps; ref: HTMLDivElement; stylesNames: OverflowListStylesNames; vars: OverflowListCssVariables; signature: (props: OverflowListProps) => React.JSX.Element; }> & { displayName?: string; }; export declare namespace OverflowList { type Props = OverflowListProps; type Factory = OverflowListFactory; type StylesNames = OverflowListStylesNames; type CssVariables = OverflowListCssVariables; }