import { Component, ReactElement, ReactNode } from 'react';
import Field from '../../data-set/Field';
import DataSet from '../../data-set';
import { ElementProps } from '../../core/ViewComponent';
import { ButtonProps } from '../../button/Button';
import { PaginationProps } from '../../pagination/Pagination';
export interface TableAdvancedQueryBarProps extends ElementProps {
    dataSet: DataSet;
    queryDataSet?: DataSet;
    queryFields: ReactElement<any>[];
    queryFieldsLimit?: number;
    buttons: ReactElement<ButtonProps>[];
    pagination?: ReactElement<PaginationProps>;
    onQuery?: () => void;
    onReset?: () => void;
}
export default class TableAdvancedQueryBar extends Component<TableAdvancedQueryBarProps> {
    static defaultProps: {
        prefixCls: string;
        queryFieldsLimit: number;
    };
    moreFields: Field[];
    modal: any;
    componentWillUnmount(): void;
    handleFieldEnter(): void;
    handleQuery(): void;
    valueFilter(value: string): boolean;
    getMoreFieldsButton(fields: ReactElement<any>[]): JSX.Element | undefined;
    openMore(children: ReactElement<any>[]): void;
    getResetButton(): JSX.Element;
    getQueryBar(): ReactNode;
    createFields(elements: ReactElement<any>[], dataSet: DataSet, isMore: boolean): ReactElement[];
    handleQueryReset(): void;
    getFilterSelect(): JSX.Element;
    render(): JSX.Element | {}[];
}
