import type { BaseInputProps, InputAddonProps } from "@components/Input/Input.interface"; import { ButtonHTMLAttributes, Dispatch, ReactElement, SetStateAction } from "react"; import { IconNames } from "@helpers/icons/iconNames"; import { IconButtonProps } from "@components/IconButton/IconButton.interface"; export type TSearchIcon = IconNames | ReactElement; export interface SearchButtonProps extends ButtonHTMLAttributes { } export interface SearchIconButtonProps extends Omit, "aria-label">, Required, "aria-label">> { } export interface SearchProps extends Omit { variant?: "default" | "withButton" | "withIconButton" | "inline"; value?: string; onClear?(): void; isTyping?: boolean; setIsTyping?: Dispatch>; suffixProps?: InputAddonProps; buttonProps?: SearchButtonProps; iconButtonProps?: IconButtonProps; buttonText?: string; prefixProps?: InputAddonProps; }