import * as React from 'react';
import type { HasDataAttribute, HasRootRef } from '../../types';
import { type IconButtonProps } from '../IconButton/IconButton';
export type RenderIconButtonFn = (icon: React.ReactNode, props?: Partial<IconButtonProps> & HasDataAttribute) => React.ReactElement;
export interface SearchProps extends React.InputHTMLAttributes<HTMLInputElement>, HasRootRef<HTMLDivElement> {
    /**
     * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ input: { getRootRef: ... } }`.
     */
    getRef?: React.Ref<HTMLInputElement>;
    /**
     * Свойства, которые можно прокинуть внутрь компонента:
     * - `root`: свойства для прокидывания в корень компонента;
     * - `input`: свойства для прокидывания в поле ввода.
     */
    slotProps?: {
        root?: React.HTMLAttributes<HTMLDivElement> & HasRootRef<HTMLDivElement> & HasDataAttribute;
        input?: React.InputHTMLAttributes<HTMLInputElement> & HasRootRef<HTMLInputElement> & HasDataAttribute;
    };
    /**
     * Only iOS. Текст кнопки "отмена", которая чистит текстовое поле и убирает фокус.
     */
    after?: React.ReactNode;
    /**
     * Контент, отображаемый перед полем ввода.
     */
    before?: React.ReactNode;
    /**
     * Иконка поиска. Может быть React-элементом или функцией, возвращающей элемент.
     */
    icon?: React.ReactNode | ((renderFn: RenderIconButtonFn) => React.ReactNode);
    /**
     * Обработчик нажатия на иконку поиска.
     */
    onIconClick?: React.PointerEventHandler<HTMLElement>;
    /**
     * Значение поля ввода по умолчанию.
     */
    defaultValue?: string;
    /**
     * Текст для скринридеров, описывающий иконку поиска.
     */
    iconLabel?: string;
    /**
     * Текст для скринридеров, описывающий кнопку очистки.
     */
    clearLabel?: string;
    /**
     * Передает атрибут `data-testid` для кнопки очистки.
     */
    clearButtonTestId?: string;
    /**
     * Удаляет отступы у компонента.
     */
    noPadding?: boolean;
    /**
     * Текст для кнопки Найти.
     */
    findButtonText?: string;
    /**
     * Обработчик, при нажатии на кнопку "Найти".
     */
    onFindButtonClick?: React.MouseEventHandler<HTMLElement>;
    /**
     * Передает атрибут `data-testid` для кнопки поиска.
     */
    findButtonTestId?: string;
    /**
     * Скрывает кнопку очистки.
     */
    hideClearButton?: boolean;
}
/**
 * @see https://vkui.io/components/search
 */
export declare const Search: ({ className, getRootRef, style, placeholder: placeholderProp, before, after, getRef, icon: iconProp, onIconClick, autoComplete: autoCompleteProp, iconLabel, clearLabel, clearButtonTestId, noPadding, findButtonText, findButtonTestId, onFindButtonClick, hideClearButton, slotProps, ...inputProps }: SearchProps) => React.ReactNode;
//# sourceMappingURL=Search.d.ts.map