import { type ValuePair, type DataTestAutoId, type Density } from "@fremtind/jkl-core"; import { type LabelProps, type InputGroupProps } from "@fremtind/jkl-input-group-react"; import React, { ChangeEvent } from "react"; interface PartialChangeEvent extends Partial, "target">> { /** Kreves av react-hook-form, det skjer ulike ting avhengig av om det er blur eller change */ type: "change" | "blur"; target: { /** Kreves av react-hook-form for å vite hvilket skjemafelt som ble endret */ name: string; value: string; }; } type ChangeEventHandler = (event: PartialChangeEvent) => void; export interface SelectProps extends Omit, DataTestAutoId { id?: string; name: string; label: string; labelProps?: Omit; items: Array; /** * @default false */ inline?: boolean; /** * @default "Velg" */ defaultPrompt?: string; className?: string; value?: string; helpLabel?: string; errorLabel?: string; /** * @default false */ searchable?: boolean | ((searchValue: string, searchItem: string | ValuePair) => boolean); density?: Density; width?: string; onChange?: ChangeEventHandler; onBlur?: ChangeEventHandler; onFocus?: ChangeEventHandler; /** * Merk som ugyldig uten å sende inn en errorLabel. * NB! Brukes kun i tilfeller der valideringsfeil dukker opp andre steder, for eksempel i en FieldGroup. */ invalid?: boolean; /** * Hvor mange valg skal vises i listen før den begynner å scrolle. * @default 5 */ maxShownOptions?: number; } export declare const Select: React.ForwardRefExoticComponent>; export {};