import React from "react"; type BaseComponentProps = React.HTMLAttributes; export type RenderItemVisibilityMeta = { visible: boolean; index: number; }; type BaseOverflowListProps = BaseComponentProps & { as?: React.ElementType; maxRows?: number; maxVisibleItems?: number; renderOverflowItem?: (item: NoInfer, index: number) => React.ReactNode; renderOverflow?: (items: NoInfer[]) => React.ReactNode; renderOverflowProps?: Partial>; flushImmediately?: boolean; renderItemVisibility?: (node: React.ReactNode, meta: RenderItemVisibilityMeta) => React.ReactNode; }; type OverflowListWithItems = BaseOverflowListProps & { items: T[]; renderItem: (item: NoInfer, index: number) => React.ReactNode; children?: never; }; type OverflowListWithChildren = BaseOverflowListProps & { children: React.ReactNode; items?: never; renderItem?: never; }; export type OverflowListProps = OverflowListWithItems | OverflowListWithChildren; export type OverflowListComponent = (props: OverflowListProps & { ref?: React.Ref; }) => React.ReactElement; export interface OverflowElementProps { items: T[]; } export declare const OverflowList: OverflowListComponent; export {};