UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

1,324 lines 50.6 kB
import React from 'react';
export interface SegmentedControlProps {
    children: React.ReactNode;
}
/**
 * `SegmentedControl` is a container component that is responsible for creating a
 * {@link SegmentedControlModel} and sharing it with its subcomponents using React context. It does
 * not represent a real element.
 *
 * ```tsx
 * <SegmentedControl items={[]}>{Child components}</SegmentedControl>
 * ```
 *
 * Alternatively, you may pass in a model using the [hoisted model
 * pattern](/getting-started/for-developers/resources/compound-components/#configuring-a-model).
 *
 * ```tsx
 * const model = useSegmentedControlModel({
 *   items: [],
 * });
 *
 * <SegmentedControl model={model}>{Child components}</SegmentedControl>
 * ```
 */
export declare const SegmentedControl: import("@workday/canvas-kit-react/common").ComponentM<SegmentedControlProps & Partial<{
    id: string;
    initialValue: string;
    disabled: boolean;
    size: "medium" | "small" | "large";
    orientation: import("../..").Orientation;
    initialSelectedIds: import("../..").SelectedIds;
    initialUnselectedIds: string[];
    selection: import("../..").SelectionManager;
    initialCursorId: string | string[];
    columnCount: number;
    navigation: import("../..").NavigationManager;
    pageSize: number;
    getId: (item: any) => string;
    getTextValue: (item: any) => string;
    nonInteractiveIds: string[];
    defaultItemHeight: number;
    shouldVirtualize: boolean;
    items: any[];
    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("../..").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("../..").SelectionManager;
        navigation: import("../..").NavigationManager;
        getId: (item: any) => string;
        getTextValue: (item: any) => string;
    } | undefined;
}> & {
    onSelect?: ((data: {
        id: string;
    }, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onSelectAll?: ((data: undefined, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onUnselectAll?: ((data: undefined, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onSetSelectedIds?: ((data: string[] | "all", prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onRemove?: ((data: {
        id: string;
        nextId?: string | undefined;
        event?: Event | React.SyntheticEvent<Element, Event> | undefined;
    }, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onGoTo?: ((data: {
        id: string;
    }, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onGoToNext?: ((data: undefined, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onGoToPrevious?: ((data: undefined, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onGoToPreviousRow?: ((data: undefined, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onGoToNextRow?: ((data: undefined, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onGoToFirst?: ((data: undefined, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onGoToLast?: ((data: undefined, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onGoToFirstOfRow?: ((data: undefined, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onGoToLastOfRow?: ((data: undefined, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onGoToNextPage?: ((data: undefined, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onGoToPreviousPage?: ((data: undefined, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onRegisterItem?: ((data: {
        id: string;
        textValue: string;
    }, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onUnregisterItem?: ((data: {
        id: string;
    }, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
    onUpdateItemHeight?: ((data: {
        value: number;
    }, prevState: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => void) | undefined;
} & {
    shouldSelect?: ((data: {
        id: string;
    }, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldSelectAll?: ((data: undefined, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldUnselectAll?: ((data: undefined, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldSetSelectedIds?: ((data: string[] | "all", state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldRemove?: ((data: {
        id: string;
        nextId?: string | undefined;
        event?: Event | React.SyntheticEvent<Element, Event> | undefined;
    }, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldGoTo?: ((data: {
        id: string;
    }, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToNext?: ((data: undefined, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToPrevious?: ((data: undefined, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToPreviousRow?: ((data: undefined, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToNextRow?: ((data: undefined, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToFirst?: ((data: undefined, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToLast?: ((data: undefined, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToFirstOfRow?: ((data: undefined, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToLastOfRow?: ((data: undefined, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToNextPage?: ((data: undefined, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldGoToPreviousPage?: ((data: undefined, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldRegisterItem?: ((data: {
        id: string;
        textValue: string;
    }, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldUnregisterItem?: ((data: {
        id: string;
    }, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
    shouldUpdateItemHeight?: ((data: {
        value: number;
    }, state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").Item<any>[];
    }) => boolean) | undefined;
}, {
    state: {
        disabled: boolean;
        size: "medium" | "small" | "large";
        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("../..").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("../..").SelectionManager;
    navigation: import("../..").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("../..").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("../..").SelectionManager;
        navigation: import("../..").NavigationManager;
        getId: (item: any) => string;
        getTextValue: (item: any) => string;
    } | undefined;
}> & {
    /**
     * `SegmentedControl.List` renders {@link Grid} under the hood. It is a container for
     * {@link SegmentedControlItem SegmentedControl.Item} subcomponents.
     *
     * ```tsx
     * <SegmentedControl.List>{SegmentedControl.Items}</SegmentedControl.List>
     * ```
     */
    List: import("@workday/canvas-kit-react/common").ElementComponentM<"div", import("./SegmentedControlList").SegmentedControlListProps<any>, {
        state: {
            disabled: boolean;
            size: "medium" | "small" | "large";
            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("../..").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("../..").SelectionManager;
        navigation: import("../..").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("../..").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("../..").SelectionManager;
            navigation: import("../..").NavigationManager;
            getId: (item: any) => string;
            getTextValue: (item: any) => string;
        } | undefined;
    }>;
    /**
     * `SegmentedControl.Item` is a `button` element built on `BaseButton`. `SegmentedControl.Item`
     * has a `data-id` prop to handle `onSelect` properly.
     *
     * ```tsx
     * <SegmentedControl.Item data-id="table">Table</SegmentedControl.Item>
     * ```
     */
    Item: import("@workday/canvas-kit-react/common").ElementComponentM<"button", import("./SegmentedControlItem").ItemProps, {
        state: {
            disabled: boolean;
            size: "medium" | "small" | "large";
            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("../..").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("../..").SelectionManager;
        navigation: import("../..").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("../..").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("../..").SelectionManager;
            navigation: import("../..").NavigationManager;
            getId: (item: any) => string;
            getTextValue: (item: any) => string;
        } | undefined;
    }>;
};
//# sourceMappingURL=SegmentedControl.d.ts.map