import Component from '@glimmer/component';
import type { EuiFormControlLayoutSignature } from './eui-form-control-layout';
/**
 * You can find more typing on the template
 */
type EuiFieldSearchArgs = {
    value?: string;
    defaultValue?: string;
    /**
     * When `true` the search will be executed (that is, the `onSearch` will be called) as the
     * user types.
     */
    incremental?: boolean;
    /**
     * Optional callback method called on open and close with a single `isOpen` parameter
     */
    onKeyUp?: (e: KeyboardEvent) => void;
    onSearch: (value: string) => void;
    isFakePrependBlock?: boolean;
    isFakeAppendBlock?: boolean;
    fullWidth?: boolean;
    compressed?: boolean;
    isLoading?: boolean;
    isClearable?: boolean;
    disabled?: boolean;
    readOnly?: boolean;
    placeholder?: string;
    id?: string;
    isInvalid?: boolean;
    isDisabled?: boolean;
};
export interface EuiFieldSearchSignature {
    Element: HTMLInputElement;
    Args: EuiFieldSearchArgs;
    Blocks: {
        prepend: [...EuiFormControlLayoutSignature['Blocks']['prepend'], string];
        field: [];
        append: [...EuiFormControlLayoutSignature['Blocks']['append'], string];
    };
}
export default class EuiFieldSearch extends Component<EuiFieldSearchSignature> {
    inputElement: HTMLInputElement | null;
    value: string | undefined;
    incremental: boolean;
    setValue(e: Event): void;
    onKeyUp(incremental: boolean, onSearch: (value: string) => void, e: KeyboardEvent): void;
    didUpdateValue(): void;
    onClear(): void;
    didInsertInput(inputRef: HTMLInputElement): void;
}
export {};
//# sourceMappingURL=eui-field-search.d.ts.map