import React from 'react';
import type { ConditionBuilderProps, ConditionGroupValue } from '../types';
interface ConditionBuilderState {
    tmpValue: ConditionGroupValue;
}
export declare class QueryBuilder extends React.Component<ConditionBuilderProps, ConditionBuilderState> {
    config: {
        valueTypes?: Array<"value" | "field" | "func" | "formula">;
        fields?: import("./types/_common").ConditionBuilderFields;
        funcs?: import("./types/_common").ConditionBuilderFuncs;
        maxLevel?: number;
        types: {
            [propName: string]: import("./types/_common").ConditionBuilderType;
        };
    };
    dragTarget?: HTMLElement;
    ghost?: HTMLElement;
    host: HTMLElement;
    lastX: number;
    lastY: number;
    lastMoveAt: number;
    handleDragStart(e: React.DragEvent): void;
    handleDragOver(e: DragEvent): void;
    handleDragDrop(): void;
    handleDragEnd(e: Event): void;
    handleClear(): void;
    highlightValue(value: ConditionGroupValue): JSX.Element;
    renderBody(onChange: (value: ConditionGroupValue) => void, value?: ConditionGroupValue, popOverContainer?: any): JSX.Element;
    render(): JSX.Element;
}
declare const _default: typeof QueryBuilder;
export default _default;
