import type { Ref, RefObject } from 'react'; import type { ActionsProps } from '../Actions'; import { type IconProps } from '../Icon'; import type { EmptyStateProps } from '../EmptyState'; import type { ForwardProps, ForwardRefForwardPropsComponent, NoChildrenProp, OmitStrict, Action, HeadingTag } from '../../types'; import type { SummaryItemProps } from '../SummaryItem'; import type { ErrorStateProps } from '../ErrorState'; export interface SummaryListProps extends NoChildrenProp { /** Name of the utility to be used as its heading along with associated actions and aria attributes. */ name?: string; /** * The heading tag to render the provided name as with. * @default 'h2' */ headingTag?: HeadingTag; /** * Hides the header while still allowing 'name' prop to supply aria attributes * @default false */ hideHeader?: boolean; /** Identifier for the icon within Pega icons. */ icon?: IconProps['name'] | IconProps; /** Integer representing the total count of items for a list utility dataset. */ count?: number; /** Top level actions for the utility. If more than one action is passed a consolidated ActionMenu will be generated. */ actions?: Action[]; /** If the utility is in a state of fetching data. */ loading?: boolean | string; /** An array of SummaryListItem objects to render. Pass an appropriately limited length array with a desired sort order based on design system defaults or config. */ items: SummaryListItem[]; /** User click initiated callback for when to show view all modal. List lengths less than the count prop will display a "View all" button with this function is bound to. */ onViewAll?: (callback: Function) => void; /** A simple message to display when there are no items. */ noItemsText?: EmptyStateProps['message']; /** * Indicate an error occurred while acquiring data for the list. * The default error state may be overridden with custom props. */ error?: boolean | ErrorStateProps; /** ID of the item that was just deleted. Setting this triggers post-delete focus management. */ deletedItemId?: string; /** Called after focus has been managed post-delete so the consumer can clear deletedItemId. */ onDeleteFocusComplete?: () => void; /** Ref to the fallback element (e.g. Add button) to focus when the list becomes empty after deletion. */ fallbackFocusRef?: RefObject; /** Ref for the SummaryList's root element. */ ref?: Ref; } export interface SummaryListItem extends OmitStrict, Pick, ForwardProps { /** A unique id to represent the item. */ id: string; /** A set of Actions to render alongside the item. If more than one action is passed a consolidated ActionMenu will be generated. */ actions?: Action[]; /** Ref for the action menu button element. */ actionsRef?: ActionsProps['ref']; } export declare const StyledSummaryListHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit & import("react").RefAttributes & ForwardProps, "ref"> & { ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | RefObject | null | undefined; }, never>> & string & Omit, keyof import("react").Component>; export declare const StyledSummaryListContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute> & string & Omit, keyof import("react").Component>; export declare const StyledSummaryListItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit & import("react").RefAttributes & ForwardProps, "ref"> & { ref?: ((instance: HTMLElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | RefObject | null | undefined; }, never>> & string & Omit & { getTestIds: (testIdProp?: import("../../types").TestIdProp["testId"]) => import("../../types").TestIdsRecord; }, keyof import("react").Component>; export declare const SummaryListItems: ({ name, items }: Pick) => import("react/jsx-runtime").JSX.Element; declare const SummaryList: ForwardRefForwardPropsComponent; export default SummaryList; //# sourceMappingURL=SummaryList.d.ts.map