///
import React, { Component, RefObject, FocusEvent } from 'react';
import './Search.css';
export type SearchProps = {
/**
*Sets the width of the input text area of the search component. It can be ‘small,’ ‘medium,’ ‘large,’ or ‘full’.
*/
width?: 'small' | 'medium' | 'large' | 'full' | 'auto';
/**
*Determines the type of search you want to use. It can be ‘primary’ ‘secondary’.
*/
type?: 'primary' | 'secondary';
/**
*Determines the type of corners you want to use for your search bar. It can be ‘regular’ or ‘oval’.
*/
corners?: 'regular' | 'oval';
/**
*Specifies the name attribute of the input element.
*/
name?: string;
/**
*Specifies the id attribute of the input element.
*/
id?: string;
/**
*Pass the class names to be appended to this prop.
*/
className?: string;
/**
*Lets you to add the value in the input text area that is to be searched.
*/
value?: string;
/**
*Lets you add the reference to the input text area of the search component.
*/
inputRef?: RefObject;
/**
*Gives you the provision to virtually indicate an error.
*/
error?: boolean;
/**
*This event occurs when the value on an element has been changed.
*/
onChange?: Function;
/**
*Lets you display a cancel icon to clear the text of the input area.
*/
onClear?: boolean;
/**
*Displays the hint of the expected value in the input.
*/
placeholder?: string;
/**
*Lets you disable the input field of the search component.
*/
disabled?: boolean;
/**
*Lets you delay the processing of events until the user stops typing.
*/
debounceSearch?: boolean;
/**
*Shows the input text area when the search icon is clicked.
*/
dynamicInput?: boolean;
/**
*Pass an ID that can be used for testing purposes. It is applied as a data attribute(data-test-id).
*/
testId?: string;
visibilityValue?: any;
/**
* Pass a version to use that specific version of the Search field component.
*/
version?: 'v2';
/**
*Lets you decide the button visibility in search component.
*/
searchButtonVisibility?: boolean;
} & JSX.IntrinsicElements['input'];
export interface SearchState {
value?: string;
}
export declare class Search extends Component {
state: {
value: string;
};
defaultInputRef: React.RefObject;
controlledRef: any;
componentDidUpdate(prevProps: any): void;
debounceSearch: import("lodash").DebouncedFunc<() => void>;
onChange: (e: any) => void;
handleClick: (e: any) => void;
handleFocus: (e: FocusEvent) => void;
hanldeClearSearch: (e: any) => void;
handleToggleInput: (event: any) => void;
onClickSearchIcon: () => void;
render(): React.JSX.Element;
}
declare const _default: (props: any) => React.JSX.Element;
export default _default;