import { FormFieldSize } from '../'; import React, { InputHTMLAttributes } from 'react'; import { FormFieldProps } from '../useFormField'; import { SearchButtonType } from './SearchButton'; export type SearchVariant = 'primary' | 'secondary' | 'simple'; export type SearchClearEvent = { trigger: 'Click'; event: React.MouseEvent; } | { trigger: 'Escape'; event: React.KeyboardEvent; }; export interface SearchProps extends FormFieldProps, Omit, 'size' | 'onChange' | 'onSubmit'> { children?: React.ReactNode; label: React.ReactNode; hideLabel?: boolean; onChange?: (value: string) => void; onClear?: (e: SearchClearEvent) => void; onSubmit?: (value: string) => void; clearButtonLabel?: string; clearButton?: boolean; variant?: SearchVariant; } interface SearchComponent extends React.ForwardRefExoticComponent> { Button: SearchButtonType; } export interface SearchContextProps { onSubmit: (e: any) => void; disabled?: boolean; size: FormFieldSize; variant: SearchVariant; } export declare const SearchContext: React.Context; export declare const Search: SearchComponent; export default Search;