import React from 'react';
import { ColumnModel } from '../utils/synapseTypes';
import { LockedFacet, QueryWrapperChildProps } from './QueryWrapper';
declare type SearchState = {
    show: boolean;
    didUpdateRanLast: boolean;
    searchText: string;
    columnName: string;
};
export declare type SearchableColumnsV2 = string[];
export declare type SearchV2Props = {
    isQueryWrapperMenuChild?: boolean;
    defaultColumn?: string;
    searchable?: SearchableColumnsV2;
    lockedFacet?: LockedFacet;
};
declare type InternalSearchProps = QueryWrapperChildProps & SearchV2Props;
declare class Search extends React.Component<InternalSearchProps, SearchState> {
    searchFormRef: React.RefObject<HTMLFormElement>;
    radioFormRef: React.RefObject<HTMLFormElement>;
    constructor(props: InternalSearchProps);
    componentDidMount(): void;
    componentDidUpdate(prevProps: InternalSearchProps): void;
    componentWillUnmount(): void;
    handleClickOutsideForm: (event: React.SyntheticEvent) => void;
    search: (event: React.SyntheticEvent<HTMLFormElement>) => void;
    handleChange: (event: React.FormEvent<HTMLInputElement>) => void;
    isSupportedColumn: (columnModel?: ColumnModel | undefined) => boolean;
    isSupportedColumnAndInProps: (columnModel?: ColumnModel | undefined) => boolean | undefined;
    render(): JSX.Element;
}
export default Search;
