import React from 'react';
/**
 * This elemProps hook adds selection support to a `*.Item` subcomponent of a collection. It adds a
 * click handler that toggles selection status according to the [Selection
 * Manager](#selection-manager) used.
 *
 * ```ts
 * const useMyItem = composeHooks(
 *   useListItemSelect, // adds selection support to an item
 *   useListItemRegister
 * );
 * ```
 */
export declare const useListItemSelect: import("@workday/canvas-kit-react/common").BehaviorHook<{
    state: {
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string | string[];
        columnCount: number;
        pageSizeRef: React.MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: import("@tanstack/virtual-core").Virtualizer<HTMLDivElement, Element>;
        UNSTABLE_defaultItemHeight: number;
        containerRef: React.RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: 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 | 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;
    getTextValue: (item: any) => string;
    UNSTABLE_parentModel: {
        state: {
            selectedIds: string[] | "all";
            unselectedIds: string[];
            cursorId: string | string[];
            columnCount: number;
            pageSizeRef: React.MutableRefObject<number>;
            cursorIndexRef: {
                readonly current: number;
            };
            UNSTABLE_virtual: import("@tanstack/virtual-core").Virtualizer<HTMLDivElement, Element>;
            UNSTABLE_defaultItemHeight: number;
            containerRef: React.RefObject<HTMLDivElement>;
            id: string;
            orientation: "horizontal" | "vertical";
            indexRef: 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 | 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;
        getTextValue: (item: any) => string;
    } | undefined;
}, {
    readonly onClick: (event: React.MouseEvent<HTMLElement>) => void;
}>;
//# sourceMappingURL=useListItemSelect.d.ts.map