import type React from "react"; import type { StyleProp, ViewStyle } from "react-native"; import type { ContentProps, ContentRef, GroupProps, GroupRef, ItemIndicatorProps, ItemIndicatorRef, ItemProps, ItemRef, ItemTextProps, ItemTextRef, LabelProps, LabelRef, Option, OverlayProps, OverlayRef, PortalProps, RootProps, SeparatorProps, SeparatorRef, TriggerProps, TriggerRef, ValueProps, ViewportProps, } from "@rn-primitives/select"; export type { Option as SelectPrimitiveOption }; export type SelectPrimitiveRootProps = RootProps; export interface SelectPrimitiveTriggerProps extends Omit, React.RefAttributes { /** Used verbatim to locate the trigger in end-to-end tests. Defaults to `ATL-Select-Trigger`. */ readonly testID?: string; /** Critical (error) border styling. Style-only — no field/validation logic. */ readonly invalid?: boolean; /** Callback styles are not supported; state styling is composed internally. */ readonly style?: StyleProp; readonly children?: React.ReactNode; } export type SelectPrimitiveValueProps = ValueProps; export type SelectPrimitivePortalProps = PortalProps; export interface SelectPrimitiveOverlayProps extends Omit, React.RefAttributes { readonly style?: StyleProp; } export interface SelectPrimitiveContentProps extends ContentProps, React.RefAttributes {} export type SelectPrimitiveViewportProps = ViewportProps; export interface SelectPrimitiveItemProps extends Omit, React.RefAttributes { /** Callback styles are not supported; pressed styling is composed internally. */ readonly style?: StyleProp; /** Compose `ItemText` / `ItemIndicator` (and any other content) as children. */ readonly children?: React.ReactNode; } export interface SelectPrimitiveItemTextProps extends Omit, React.RefAttributes { /** Greys the label; the composing layer forwards the row's disabled state. */ readonly disabled?: boolean; } /** The default selected-item checkmark; overridable via `children`. */ export interface SelectPrimitiveItemIndicatorProps extends ItemIndicatorProps, React.RefAttributes {} export interface SelectPrimitiveGroupProps extends GroupProps, React.RefAttributes {} export interface SelectPrimitiveLabelProps extends LabelProps, React.RefAttributes {} export interface SelectPrimitiveSeparatorProps extends SeparatorProps, React.RefAttributes {}