import type { ForwardRefComponent } from '@fluentui/react-utilities'; import type { JSXElement } from '@fluentui/react-utilities'; import { ListContextValue } from '@fluentui/react-list'; import { ListContextValues } from '@fluentui/react-list'; import { ListItemActionEventData } from '@fluentui/react-list'; import type { ListItemBaseState } from '@fluentui/react-list'; import { ListItemBaseProps as ListItemProps } from '@fluentui/react-list'; import { ListItemBaseSlots as ListItemSlots } from '@fluentui/react-list'; import { ListItemValue } from '@fluentui/react-list'; import { ListNavigationMode } from '@fluentui/react-list'; import { ListProps } from '@fluentui/react-list'; import { ListSlots } from '@fluentui/react-list'; import type { ListState as ListState_2 } from '@fluentui/react-list'; import { OnListSelectionChangeData } from '@fluentui/react-list'; import * as React_2 from 'react'; import { useListContext_unstable as useListContext } from '@fluentui/react-list'; /** * Represents a collection of `ListItem` children, optionally with selection support. * * The list owns the `list` / `listbox` / `grid` role and coordinates selection, so `ListItem` * must always be rendered inside a `List`. */ export declare const List: ForwardRefComponent; export { ListContextValue } export { ListContextValues } /** * Represents a single item within a `List`. * * Must be rendered inside a `List`, which provides the item role and the selection state. When the * parent list is selectable the item renders a native `input[type="checkbox"]` checkmark slot. */ export declare const ListItem: ForwardRefComponent; export { ListItemActionEventData } export { ListItemProps } export { ListItemSlots } export declare type ListItemState = ListItemBaseState & { root: { /** * Data attribute set when the parent list manages selection. */ 'data-selectable'?: string; /** * Data attribute set when the item is part of the parent list's focus order. */ 'data-navigable'?: string; /** * Data attribute set when the item is selected. */ 'data-selected'?: string; /** * Data attribute set when the item cannot be selected and exposes no action. */ 'data-disabled'?: string; }; }; export { ListItemValue } export { ListNavigationMode } export { ListProps } export { ListSlots } export declare type ListState = ListState_2 & { root: { /** * Identifies the list boundary for nested keyboard navigation. */ 'data-list'?: string; /** * Data attribute reflecting the navigation mode. Value is `items` or `composite`, and the * attribute is absent when no navigation mode is set. */ 'data-navigation-mode'?: ListNavigationMode; /** * Data attribute set when the list manages selection for its items. */ 'data-selectable'?: string; }; }; export { OnListSelectionChangeData } /** * Renders List and provides its navigation mode to the headless ListItem hooks. */ export declare const renderList: (state: ListState, contextValues: ListContextValues) => JSXElement; /** * Renders the final JSX of the ListItem component, given the state. */ export declare const renderListItem: (state: ListItemState) => JSXElement; /** * Returns the state for a List component, given its props and ref. * The returned state can be modified with hooks before being passed to `renderList`. */ export declare const useList: (props: ListProps, ref: React_2.Ref) => ListState; export { useListContext } /** * Maps the state of the list to the values that are passed through context to its children. */ export declare const useListContextValues: (state: ListState) => ListContextValues; /** * Returns the state for a ListItem component, given its props and ref. * The returned state can be modified with hooks before being passed to `renderListItem`. */ export declare const useListItem: (props: ListItemProps, ref: React_2.Ref) => ListItemState; export { }