import * as React from 'react'; import type { SelectContextValue, SelectHandle, SelectProps } from './types.cjs'; /** * Enabled options only — a disabled option is never a navigation or typeahead * target, and SelectAll commits the whole set rather than a value, so a sweep * that included it would fold an empty value in. */ export declare const OPTION_SELECTOR = "[role=\"option\"]:not([data-disabled]):not([data-part=\"select-all\"])"; /** Default `getSelectionLabel`: `"2 selected"`, or `"none selected"` at zero. */ export declare function defaultGetSelectionLabel(count: number): string; /** @internal What a multiple-mode selection key asks the open listbox to do. */ export type SelectSelectionAction = { kind: 'extend'; direction: 1 | -1; } | { kind: 'range'; } | { kind: 'sweep'; edge: 'first' | 'last'; } | { kind: 'select-all'; }; /** * The multiple-mode selection key a keydown asks for while the listbox is * open, or `null` when the key belongs to plain navigation. Shared so the * trigger and the filter input read the same keyboard. * * @internal */ export declare function selectSelectionKeyAction(event: React.KeyboardEvent, { allowSelectAll, hasActive }: { allowSelectAll: boolean; hasActive: boolean; }): SelectSelectionAction | null; export declare const SelectProvider: React.FC, useSelectContext: (consumerName: string) => SelectContextValue; /** * Root of a listbox-style select that owns the selected value and popup open state for its parts. * * @example * ```tsx *