import * as React from 'react';
import { ExtractProps } from '@workday/canvas-kit-react/common';
import { Flex } from '@workday/canvas-kit-react/layout';
export interface ActionBarListProps<T = any> extends Omit<ExtractProps<typeof Flex, never>, 'children'> {
    /**
     * If items are passed to a `ActionBarModel`, the child of `ActionBar.List` should be a render prop. The
     * List will determine how and when the item will be rendered.
     *
     * @example
     * <ActionBar.List>
     *   {(item) => <ActionBar.Item key={item.id} name={item.name}>{item.text}</ActionBar.Item>}
     * </ActionBar.List>
     */
    children: ((item: T, index: number) => React.ReactNode) | React.ReactNode;
    /**
     * `ActionBar.List` will render overflow button component if  it's passed in `overflowButton`.
     *
     * @example
     * <ActionBar.List overflowButton={<ActionBar.OverflowButton aria-label="More actions" />}>
     *   {(item) => <ActionBar.Item>{item.text}</ActionBar.Item>}
     * </ActionBar.List>
     */
    overflowButton?: React.ReactNode;
}
export declare const useActionBarList: import("@workday/canvas-kit-react/common").BehaviorHook<{
    state: {
        hiddenIds: string[];
        itemSizeCache: Record<string, number>;
        itemWidthCache: Record<string, number>;
        containerSize: number;
        containerWidth: number;
        containerGap: number;
        overflowTargetWidth: number;
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: React.MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("@workday/canvas-kit-react/collection").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("@workday/canvas-kit-react/collection").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: React.RefObject<HTMLDivElement>;
        id: string;
        orientation: "horizontal" | "vertical";
        indexRef: React.MutableRefObject<number>;
        nonInteractiveIds: string[];
        isVirtualized: boolean;
        items: import("@workday/canvas-kit-react/collection").Item<any>[];
    };
    events: {
        select(data: {
            id: string;
        }): void;
        setContainerSize(data: {
            width?: number | undefined;
            height?: number | undefined;
        }): void;
        setContainerWidth(data: {
            width?: number | undefined;
        }): void;
        setContainerGap(data: {
            size: number;
        }): void;
        setOverflowTargetSize(data: {
            width: number;
            height: number;
        }): void;
        setOverflowTargetWidth(data: {
            width: number;
        }): void;
        addItemWidth(data: {
            id: string;
            width: number;
        }): void;
        addItemSize(data: {
            id: string;
            width: number;
            height: number;
        }): void;
        removeItemSize(data: {
            id: string;
        }): void;
        removeItemWidth(data: {
            id: string;
        }): void;
        addHiddenKey(data: {
            id: string;
        }): void;
        removeHiddenKey(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("@workday/canvas-kit-react/collection").SelectionManager;
    navigation: import("@workday/canvas-kit-react/collection").NavigationManager;
    getId: (item: any) => string;
}, {
    readonly ref: (instance: HTMLElement | null) => void;
}>;
export declare const ActionBarList: import("@workday/canvas-kit-react/common").ElementComponentM<"div", ActionBarListProps<any>, {
    state: {
        hiddenIds: string[];
        nonInteractiveIds: string[];
        orientation: import("@workday/canvas-kit-react/collection").Orientation;
        itemSizeCache: Record<string, number>;
        itemWidthCache: Record<string, number>;
        containerSize: number;
        containerWidth: number;
        containerGap: number;
        overflowTargetWidth: number;
        selectedIds: string[] | "all";
        unselectedIds: string[];
        cursorId: string;
        columnCount: number;
        pageSizeRef: React.MutableRefObject<number>;
        cursorIndexRef: {
            readonly current: number;
        };
        UNSTABLE_virtual: {
            virtualItems: import("@workday/canvas-kit-react/collection").VirtualItem[];
            totalSize: number;
            scrollToOffset: (index: number, options?: import("@workday/canvas-kit-react/collection").ScrollToOffsetOptions | undefined) => void;
            scrollToIndex: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void;
            measure: () => void;
        };
        UNSTABLE_defaultItemHeight: number;
        containerRef: React.RefObject<HTMLDivElement>;
        id: string;
        indexRef: React.MutableRefObject<number>;
        isVirtualized: boolean;
        items: import("@workday/canvas-kit-react/collection").Item<any>[];
    };
    events: {
        select(data: {
            id: string;
        }): void;
        setContainerSize(data: {
            width?: number | undefined;
            height?: number | undefined;
        }): void;
        setContainerWidth(data: {
            width?: number | undefined;
        }): void;
        setContainerGap(data: {
            size: number;
        }): void;
        setOverflowTargetSize(data: {
            width: number;
            height: number;
        }): void;
        setOverflowTargetWidth(data: {
            width: number;
        }): void;
        addItemWidth(data: {
            id: string;
            width: number;
        }): void;
        addItemSize(data: {
            id: string;
            width: number;
            height: number;
        }): void;
        removeItemSize(data: {
            id: string;
        }): void;
        removeItemWidth(data: {
            id: string;
        }): void;
        addHiddenKey(data: {
            id: string;
        }): void;
        removeHiddenKey(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;
    };
    menu: {
        state: {
            stackRef: React.RefObject<HTMLDivElement>;
            targetRef: React.RefObject<HTMLButtonElement>;
            initialFocusRef: React.RefObject<any> | undefined;
            returnFocusRef: React.RefObject<any> | undefined;
            placement: import("@popperjs/core").Placement;
            id: string;
            visibility: "hidden" | "visible";
            selectedIds: string[] | "all";
            unselectedIds: string[];
            cursorId: string;
            columnCount: number;
            pageSizeRef: React.MutableRefObject<number>;
            cursorIndexRef: {
                readonly current: number;
            };
            UNSTABLE_virtual: {
                virtualItems: import("@workday/canvas-kit-react/collection").VirtualItem[];
                totalSize: number;
                scrollToOffset: (index: number, options?: import("@workday/canvas-kit-react/collection").ScrollToOffsetOptions | undefined) => void;
                scrollToIndex: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void;
                measure: () => void;
            };
            UNSTABLE_defaultItemHeight: number;
            containerRef: React.RefObject<HTMLDivElement>;
            orientation: "horizontal" | "vertical";
            indexRef: React.MutableRefObject<number>;
            nonInteractiveIds: string[];
            isVirtualized: boolean;
            items: import("@workday/canvas-kit-react/collection").Item<any>[];
            mode: "multiple" | "single";
        };
        events: {
            updatePlacement(data: {
                placement: import("@popperjs/core").Placement;
            }): void;
            show(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
            hide(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
            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("@workday/canvas-kit-react/collection").SelectionManager;
        navigation: import("@workday/canvas-kit-react/collection").NavigationManager;
        getId: (item: any) => string;
    };
    selection: import("@workday/canvas-kit-react/collection").SelectionManager;
    navigation: import("@workday/canvas-kit-react/collection").NavigationManager;
    getId: (item: any) => string;
}>;
//# sourceMappingURL=ActionBarList.d.ts.map