import { ChangeEvent, KeyboardEvent, MouseEvent, Ref, CSSProperties, FocusEvent } from "react";
import { ITheme } from "../Pallette/themes";
import { TViewTypeInput } from "../InputBase/interfaces";
export interface ISearchBoxIdentifiersHandlers {
    id?: string | number;
    name?: string;
}
export declare const searchBoxSize: readonly ["l", "m"];
export declare const searchBoxStatus: readonly ["error"];
export declare const searchBoxType: readonly ["global", "basic"];
export declare type TSearchBoxSize = typeof searchBoxSize[number];
export declare type TSearchBoxStatus = typeof searchBoxStatus[number];
export declare type TSearchBoxType = typeof searchBoxType[number];
export interface ISearchBoxProps {
    placeholder?: string;
    isDisabled?: boolean;
    size?: TSearchBoxSize;
    value?: string;
    status?: TSearchBoxStatus;
    statusText?: string;
    isStatusIcon?: boolean;
    onChange?: (event: ChangeEvent<HTMLInputElement> | MouseEvent<HTMLButtonElement>, value: string, identifiers: ISearchBoxIdentifiersHandlers) => void;
    id?: string | number;
    name?: string;
    onBlur?: (event: FocusEvent<HTMLInputElement>, value: string) => void;
    isFocused?: boolean;
    onFocus?: (event: FocusEvent<HTMLInputElement>) => void;
    maxLength?: number;
    tabIndex?: number;
    inputRef?: Ref<HTMLInputElement>;
    width?: string;
    className?: string;
    style?: CSSProperties;
    onKeyDown?: (event: KeyboardEvent<HTMLInputElement>, value: string, identifiers: ISearchBoxIdentifiersHandlers) => void;
    wait?: number;
    type?: TSearchBoxType;
    viewType?: TViewTypeInput;
    testId?: string;
}
export interface ISearchBox {
    theme: ITheme;
    status?: "error";
    statusText?: string;
    isStatusIcon?: boolean;
    width?: string;
}
export interface ISearchBoxComponent extends ISearchBox {
    size: TSearchBoxSize;
    isFocused?: boolean;
    isDisabled?: boolean;
    isReadOnly?: boolean;
    error?: string | boolean;
    viewType?: TViewTypeInput;
    isHasValue: boolean;
}
