@@jsxConfig({version: 4, mode: "classic"})

module Select: {
  module type T = {
    type key
    type t
  }
  @res.jsxComponentProps
  type props<'model, 'selected, 'onChange, 'items> = {
    model: 'model,
    selected: 'selected,
    onChange: 'onChange,
    items: 'items,
  }

  let make: React.component<
    props<
      module(T with type t = 'a and type key = 'key),
      option<'key>,
      option<'key> => unit,
      array<'a>,
    >,
  >
}
