import { Signal } from '@preact/signals'; import { Component } from 'preact'; import '@etchteam/diamond-ui/control/Input/Input'; import '@etchteam/diamond-ui/control/Button/Button'; import '@/components/content/Icon/Icon'; import { CustomElement } from '@/types/customElement'; import { Material } from '@/types/locatorApi'; interface MaterialSearchInputProps { readonly inputId?: string; readonly inputLabelledBy?: string; readonly placeholder?: string; readonly submitting?: boolean | string; readonly defaultValue?: string; readonly valid?: boolean; readonly autofocus?: boolean; readonly includeFeedbackForm?: boolean; readonly handleBlur?: (value: string) => void; readonly handleInput?: (value: string) => void; readonly handleReset?: () => void; } /** * An autosuggest input for materials. * The autosuggest list will appear after > 3 characters are entered. */ export default class MaterialSearchInput extends Component { materialSuggestions: Signal; materialNotFound: Signal; inputValue: Signal; inputRef: import("preact").RefObject; buttonRef: import("preact").RefObject; constructor(props: MaterialSearchInputProps); autosuggest: (query: string) => Promise; handleInput: any; handleBlur: () => void; handleOptionSelected: (query: string) => Promise; handleKeyPress: (event: preact.JSX.TargetedKeyboardEvent) => void; handleButtonClick: (event: Event) => void; render(): import("preact/compat").JSX.Element; } declare module 'react' { namespace JSX { interface IntrinsicElements { 'locator-material-search-input': CustomElement; } } } export {};