import type { ReactElement } from "react"
import type { Key } from "react-aria-components"

export interface SelectProps
  extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "onSelect"> {
  defaultSelectedKey?: Key
  items: { label: string; value: Key }[]
  label: string
  name: string
  onSelect: (key: Key) => void
  value?: string | number
  maxHeight?: number
  showRadioButton?: boolean
  discreet?: boolean
  isNestedInModal?: boolean
  optionsIcon?: ReactElement<any>
}

export type SelectPortalContainer = HTMLDivElement | undefined
export type SelectPortalContainerArgs = HTMLDivElement | null
