export type ListProps<T = any> = {
    children: React.ReactNode | ((item: T) => React.ReactNode);
};
export type ListItemProps = {
    children?: React.ReactNode;
    'data-id'?: string;
};
/**
 * The List model contains the the state and events necessary to track items, selection, and a cursor.
 * Various hooks can be used for a List model to create common behaviors associated with lists, such as
 * navigating a list with a keyboard, selection (single and multiple), and virtualization.
 *
 * A list also has a "cursor". A cursor is often represented by focus, but it is not always a 1:1
 * mapping. Think of the cursor as the focus item within the list. If the list has browser focus, the
 * cursor will map to browser focus. Behaviors such as `useListRovingFocus` will map the cursor to the
 * active tab stop of the list. For more information, see
 * [Roving Tabindex](https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_roving_tabindex). `useListRovingFocus`
 * adds keyboard events that map to navigation events. A [Navigation Manager](#navigation-manager) is
 * used to map new cursor ids to these events. The `ListModel` takes an optional `navigation`
 * configuration to change the default navigation behavior. The default navigation manager is a
 * [wrappingNavigationManager](#wrappingnavigationmanager) meaning the cursor will wrap around the
 * beginning and the ends. The cursor also provides a [navigationManager](#navigationmanager) that does
 * not wrap. This is the default navigation for grids.
 *
 * The cursor also adds the concept of `orientation` which defaults to `'vertical'`. A Tab list is an
 * example of a `'horizontal'` list.
 *
 * ```tsx
 * const list = useListModel({
 *   // custom handling for selection. single and multi select are provided
 *   selection: mySelectionManager,
 *   // wrapping and non-wrapping navigation are provided
 *   navigation: myNavigationManager,
 *   items: [{ id: '1', text: 'First'}, { id: '2', text: 'Second' }],
 *   getId: item => item.id, // get the unique identifier of your item
 * })
 * ```
 */
export declare const useListModel: (<TT_Special_Generic>(config?: (Partial<{
    initialSelectedIds: import("./useSelectionListModel").SelectedIds;
    initialUnselectedIds: string[];
    selection: import("./useSelectionListModel").SelectionManager;
    initialCursorId: string;
    columnCount: number;
    navigation: import("./useCursorListModel").NavigationManager;
    pageSize: number;
    id: string;
    getId: (item: any) => string;
    getTextValue: (item: any) => string;
    nonInteractiveIds: string[];
    orientation: import("./useBaseListModel").Orientation;
    defaultItemHeight: number;
    shouldVirtualize: boolean;
    items: any[];
}> & {
    onSelect?: ((data: {
        id: string;
    }, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onSelectAll?: ((data: undefined, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onUnselectAll?: ((data: undefined, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onSetSelectedIds?: ((data: string[] | "all", prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onRemove?: ((data: {
        id: string;
        nextId?: string | undefined;
        event?: Event | import("react").SyntheticEvent<Element, Event> | undefined;
    }, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onGoTo?: ((data: {
        id: string;
    }, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onGoToNext?: ((data: undefined, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onGoToPrevious?: ((data: undefined, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onGoToPreviousRow?: ((data: undefined, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onGoToNextRow?: ((data: undefined, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onGoToFirst?: ((data: undefined, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onGoToLast?: ((data: undefined, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onGoToFirstOfRow?: ((data: undefined, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onGoToLastOfRow?: ((data: undefined, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onGoToNextPage?: ((data: undefined, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onGoToPreviousPage?: ((data: undefined, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onRegisterItem?: ((data: {
        id: string;
        textValue: string;
    }, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onUnregisterItem?: ((data: {
        id: string;
    }, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
    onUpdateItemHeight?: ((data: {
        value: number;
    }, prevState: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => void) | undefined;
} & {
    shouldSelect?: ((data: {
        id: string;
    }, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldSelectAll?: ((data: undefined, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldUnselectAll?: ((data: undefined, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldSetSelectedIds?: ((data: string[] | "all", state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldRemove?: ((data: {
        id: string;
        nextId?: string | undefined;
        event?: Event | import("react").SyntheticEvent<Element, Event> | undefined;
    }, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldGoTo?: ((data: {
        id: string;
    }, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToNext?: ((data: undefined, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToPrevious?: ((data: undefined, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToPreviousRow?: ((data: undefined, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToNextRow?: ((data: undefined, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToFirst?: ((data: undefined, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToLast?: ((data: undefined, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToFirstOfRow?: ((data: undefined, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToLastOfRow?: ((data: undefined, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToNextPage?: ((data: undefined, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToPreviousPage?: ((data: undefined, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldRegisterItem?: ((data: {
        id: string;
        textValue: string;
    }, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldUnregisterItem?: ((data: {
        id: string;
    }, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
    shouldUpdateItemHeight?: ((data: {
        value: number;
    }, state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    }) => boolean) | undefined;
}) | undefined) => {
    state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    };
    events: {
        select(data: {
            id: string;
        }): void;
        selectAll(): void;
        unselectAll(): void;
        setSelectedIds(ids: string[] | "all"): void;
        remove(data: {
            id: string;
            nextId?: string | undefined;
            event?: Event | import("react").SyntheticEvent<Element, Event> | undefined;
        }): void;
        goTo(data: {
            id: string;
        }): void;
        goToNext(): void;
        goToPrevious(): void;
        goToPreviousRow(): void;
        goToNextRow(): void;
        goToFirst(): void;
        goToLast(): void;
        goToFirstOfRow(): void;
        goToLastOfRow(): void;
        goToNextPage(): void;
        goToPreviousPage(): void;
        registerItem(data: {
            id: string;
            textValue: string;
        }): void;
        unregisterItem(data: {
            id: string;
        }): void;
        updateItemHeight(data: {
            value: number;
        }): void;
    };
    selection: import("./useSelectionListModel").SelectionManager;
    navigation: import("./useCursorListModel").NavigationManager;
    getId: (item: any) => string;
}) & import("@workday/canvas-kit-react/common").ModelExtras<{
    initialSelectedIds: import("./useSelectionListModel").SelectedIds;
    initialUnselectedIds: string[];
    selection: import("./useSelectionListModel").SelectionManager;
    initialCursorId: string;
    columnCount: number;
    navigation: import("./useCursorListModel").NavigationManager;
    pageSize: number;
    id: string;
    getId: (item: any) => string;
    getTextValue: (item: any) => string;
    nonInteractiveIds: string[];
    orientation: import("./useBaseListModel").Orientation;
    defaultItemHeight: number;
    shouldVirtualize: boolean;
    items: any[];
}, {}, {
    selectedIds: string[] | "all";
    unselectedIds: string[];
    cursorId: string;
    columnCount: number;
    pageSizeRef: import("react").MutableRefObject<number>;
    cursorIndexRef: {
        readonly current: number;
    };
    UNSTABLE_virtual: {
        virtualItems: import("./react-virtual").VirtualItem[];
        totalSize: number;
        scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
        scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
        measure: () => void;
    };
    UNSTABLE_defaultItemHeight: number;
    containerRef: import("react").RefObject<HTMLDivElement>;
    id: string;
    orientation: "horizontal" | "vertical";
    indexRef: import("react").MutableRefObject<number>;
    nonInteractiveIds: string[];
    isVirtualized: boolean;
    items: import("./useBaseListModel").Item<any>[];
}, {
    select(data: {
        id: string;
    }): void;
    selectAll(): void;
    unselectAll(): void;
    setSelectedIds(ids: string[] | "all"): void;
    remove(data: {
        id: string;
        nextId?: string | undefined;
        event?: Event | import("react").SyntheticEvent<Element, Event> | undefined;
    }): void;
    goTo(data: {
        id: string;
    }): void;
    goToNext(): void;
    goToPrevious(): void;
    goToPreviousRow(): void;
    goToNextRow(): void;
    goToFirst(): void;
    goToLast(): void;
    goToFirstOfRow(): void;
    goToLastOfRow(): void;
    goToNextPage(): void;
    goToPreviousPage(): void;
    registerItem(data: {
        id: string;
        textValue: string;
    }): void;
    unregisterItem(data: {
        id: string;
    }): void;
    updateItemHeight(data: {
        value: number;
    }): void;
}, {
    state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: import("react").MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("./react-virtual").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: import("react").RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: import("react").MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("./useBaseListModel").Item<any>[];
    };
    events: {
        select(data: {
            id: string;
        }): void;
        selectAll(): void;
        unselectAll(): void;
        setSelectedIds(ids: string[] | "all"): void;
        remove(data: {
            id: string;
            nextId?: string | undefined;
            event?: Event | import("react").SyntheticEvent<Element, Event> | undefined;
        }): void;
        goTo(data: {
            id: string;
        }): void;
        goToNext(): void;
        goToPrevious(): void;
        goToPreviousRow(): void;
        goToNextRow(): void;
        goToFirst(): void;
        goToLast(): void;
        goToFirstOfRow(): void;
        goToLastOfRow(): void;
        goToNextPage(): void;
        goToPreviousPage(): void;
        registerItem(data: {
            id: string;
            textValue: string;
        }): void;
        unregisterItem(data: {
            id: string;
        }): void;
        updateItemHeight(data: {
            value: number;
        }): void;
    };
    selection: import("./useSelectionListModel").SelectionManager;
    navigation: import("./useCursorListModel").NavigationManager;
    getId: (item: any) => string;
}>;
//# sourceMappingURL=useListModel.d.ts.map