import type { RoutingForm, Attribute } from "../types/types";
import { FormFieldsInitialConfig } from "./InitialConfig";
type RaqbConfigFields = Record<string, {
    label: string;
    type: string;
    valueSources: ["value"];
    fieldSettings: {
        listValues?: {
            value: string;
            title: string;
        }[];
    };
}>;
export type FormFieldsQueryBuilderConfigWithRaqbFields = ReturnType<typeof getQueryBuilderConfigForFormFields>;
export type AttributesQueryBuilderConfigWithRaqbFields = ReturnType<typeof getQueryBuilderConfigForAttributes>;
export declare function getQueryBuilderConfigForFormFields(form: Pick<RoutingForm, "fields">, forReporting?: boolean): {
    fields: RaqbConfigFields;
    operators: typeof FormFieldsInitialConfig.operators & {
        __calReporting?: boolean;
    };
    conjunctions: {
        [x: string]: import("react-awesome-query-builder").Conjunction;
    };
    types: import("../components/react-awesome-query-builder/config/BasicConfig").Types;
    widgets: import("../components/react-awesome-query-builder/config/types").WidgetsWithoutFactory;
    settings: {
        groupActionsPosition: "bottomCenter";
        showErrorMessage: boolean;
        maxNesting: number;
        locale?: {
            moment?: string;
            antd?: Object;
            material?: Object;
            mui?: Object;
        };
        theme?: {
            material?: Object;
            mui?: Object;
        };
        valueLabel?: string;
        valuePlaceholder?: string;
        fieldLabel?: string;
        operatorLabel?: string;
        fieldPlaceholder?: string;
        funcPlaceholder?: string;
        funcLabel?: string;
        operatorPlaceholder?: string;
        lockLabel?: string;
        lockedLabel?: string;
        deleteLabel?: string;
        addGroupLabel?: string;
        addCaseLabel?: string;
        addDefaultCaseLabel?: string;
        defaultCaseLabel?: string;
        addRuleLabel?: string;
        addSubRuleLabel?: string;
        delGroupLabel?: string;
        notLabel?: string;
        valueSourcesPopupTitle?: string;
        removeRuleConfirmOptions?: {
            title?: string;
            okText?: string;
            okType?: string;
            cancelText?: string;
        };
        removeGroupConfirmOptions?: {
            title?: string;
            okText?: string;
            okType?: string;
            cancelText?: string;
        };
        renderField?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderOperator?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderFunc?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderConjs?: import("react").Factory<import("react-awesome-query-builder").ConjsProps>;
        renderButton?: import("react").Factory<import("react-awesome-query-builder").ButtonProps>;
        renderButtonGroup?: import("react").Factory<import("react-awesome-query-builder").ButtonGroupProps>;
        renderSwitch?: import("react").Factory<import("react-awesome-query-builder").SwitchProps>;
        renderProvider?: import("react").Factory<import("react-awesome-query-builder").ProviderProps>;
        renderValueSources?: import("react").Factory<import("react-awesome-query-builder").ValueSourcesProps>;
        renderConfirm?: import("react-awesome-query-builder").ConfirmFunc;
        useConfirm?: () => Function;
        renderSize?: import("react-awesome-query-builder").AntdSize;
        dropdownPlacement?: import("react-awesome-query-builder").AntdPosition;
        showLabels?: boolean;
        maxLabelsLength?: number;
        customFieldSelectProps?: import("react-awesome-query-builder").AnyObject;
        renderBeforeWidget?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderAfterWidget?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderBeforeActions?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderAfterActions?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderRuleError?: import("react").Factory<import("react-awesome-query-builder").RuleErrorProps>;
        renderSwitchPrefix?: import("react").Factory<import("react-awesome-query-builder").AnyObject>;
        defaultSliderWidth?: string;
        defaultSelectWidth?: string;
        defaultSearchWidth?: string;
        defaultMaxRows?: number;
        valueSourcesInfo?: import("react-awesome-query-builder").ValueSourcesInfo;
        canCompareFieldWithField?: import("react-awesome-query-builder").CanCompareFieldWithField;
        canReorder?: boolean;
        canRegroup?: boolean;
        canRegroupCases?: boolean;
        showNot?: boolean;
        showLock?: boolean;
        canDeleteLocked?: boolean;
        setOpOnChangeField: Array<import("react-awesome-query-builder").ChangeFieldStrategy>;
        clearValueOnChangeField?: boolean;
        clearValueOnChangeOp?: boolean;
        canLeaveEmptyGroup?: boolean;
        canLeaveEmptyCase?: boolean;
        shouldCreateEmptyGroup?: boolean;
        forceShowConj?: boolean;
        immutableGroupsMode?: boolean;
        immutableFieldsMode?: boolean;
        immutableOpsMode?: boolean;
        immutableValuesMode?: boolean;
        maxNumberOfRules?: Number;
        maxNumberOfCases?: Number;
        canShortMongoQuery?: boolean;
        convertableWidgets?: import("react-awesome-query-builder").TypedMap<Array<string>>;
        removeEmptyGroupsOnLoad?: boolean;
        removeIncompleteRulesOnLoad?: boolean;
        fieldSeparator?: string;
        fieldSeparatorDisplay?: string;
        formatReverse?: import("react-awesome-query-builder").FormatReverse;
        sqlFormatReverse?: import("react-awesome-query-builder").SqlFormatReverse;
        spelFormatReverse?: import("react-awesome-query-builder").SpelFormatReverse;
        formatField?: import("react-awesome-query-builder").FormatField;
        formatSpelField?: import("react-awesome-query-builder").FormatSpelField;
        formarAggr?: import("react-awesome-query-builder").FormatAggr;
    };
};
export declare function getQueryBuilderConfigForAttributes({ attributes, 
/**
 * It is the fields that makes up additional options to be matched with for the single select/multiselect attributes.
 * They are shown as 'Value of field <field-label>' in the dropdown.
 */
dynamicOperandFields, }: {
    attributes: Attribute[];
    dynamicOperandFields?: {
        label: string;
        id: string;
    }[];
}): {
    fields: RaqbConfigFields;
    operators: {
        [x: string]: import("../components/react-awesome-query-builder/config/BasicConfig").Operator;
    };
    conjunctions: {
        [x: string]: import("react-awesome-query-builder").Conjunction;
    };
    types: import("../components/react-awesome-query-builder/config/BasicConfig").Types;
    widgets: import("../components/react-awesome-query-builder/config/types").WidgetsWithoutFactory;
    settings: {
        groupActionsPosition: "bottomCenter";
        showErrorMessage: boolean;
        maxNesting: number;
        locale?: {
            moment?: string;
            antd?: Object;
            material?: Object;
            mui?: Object;
        };
        theme?: {
            material?: Object;
            mui?: Object;
        };
        valueLabel?: string;
        valuePlaceholder?: string;
        fieldLabel?: string;
        operatorLabel?: string;
        fieldPlaceholder?: string;
        funcPlaceholder?: string;
        funcLabel?: string;
        operatorPlaceholder?: string;
        lockLabel?: string;
        lockedLabel?: string;
        deleteLabel?: string;
        addGroupLabel?: string;
        addCaseLabel?: string;
        addDefaultCaseLabel?: string;
        defaultCaseLabel?: string;
        addRuleLabel?: string;
        addSubRuleLabel?: string;
        delGroupLabel?: string;
        notLabel?: string;
        valueSourcesPopupTitle?: string;
        removeRuleConfirmOptions?: {
            title?: string;
            okText?: string;
            okType?: string;
            cancelText?: string;
        };
        removeGroupConfirmOptions?: {
            title?: string;
            okText?: string;
            okType?: string;
            cancelText?: string;
        };
        renderField?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderOperator?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderFunc?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderConjs?: import("react").Factory<import("react-awesome-query-builder").ConjsProps>;
        renderButton?: import("react").Factory<import("react-awesome-query-builder").ButtonProps>;
        renderButtonGroup?: import("react").Factory<import("react-awesome-query-builder").ButtonGroupProps>;
        renderSwitch?: import("react").Factory<import("react-awesome-query-builder").SwitchProps>;
        renderProvider?: import("react").Factory<import("react-awesome-query-builder").ProviderProps>;
        renderValueSources?: import("react").Factory<import("react-awesome-query-builder").ValueSourcesProps>;
        renderConfirm?: import("react-awesome-query-builder").ConfirmFunc;
        useConfirm?: () => Function;
        renderSize?: import("react-awesome-query-builder").AntdSize;
        dropdownPlacement?: import("react-awesome-query-builder").AntdPosition;
        showLabels?: boolean;
        maxLabelsLength?: number;
        customFieldSelectProps?: import("react-awesome-query-builder").AnyObject;
        renderBeforeWidget?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderAfterWidget?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderBeforeActions?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderAfterActions?: import("react").Factory<import("react-awesome-query-builder").FieldProps>;
        renderRuleError?: import("react").Factory<import("react-awesome-query-builder").RuleErrorProps>;
        renderSwitchPrefix?: import("react").Factory<import("react-awesome-query-builder").AnyObject>;
        defaultSliderWidth?: string;
        defaultSelectWidth?: string;
        defaultSearchWidth?: string;
        defaultMaxRows?: number;
        valueSourcesInfo?: import("react-awesome-query-builder").ValueSourcesInfo;
        canCompareFieldWithField?: import("react-awesome-query-builder").CanCompareFieldWithField;
        canReorder?: boolean;
        canRegroup?: boolean;
        canRegroupCases?: boolean;
        showNot?: boolean;
        showLock?: boolean;
        canDeleteLocked?: boolean;
        setOpOnChangeField: Array<import("react-awesome-query-builder").ChangeFieldStrategy>;
        clearValueOnChangeField?: boolean;
        clearValueOnChangeOp?: boolean;
        canLeaveEmptyGroup?: boolean;
        canLeaveEmptyCase?: boolean;
        shouldCreateEmptyGroup?: boolean;
        forceShowConj?: boolean;
        immutableGroupsMode?: boolean;
        immutableFieldsMode?: boolean;
        immutableOpsMode?: boolean;
        immutableValuesMode?: boolean;
        maxNumberOfRules?: Number;
        maxNumberOfCases?: Number;
        canShortMongoQuery?: boolean;
        convertableWidgets?: import("react-awesome-query-builder").TypedMap<Array<string>>;
        removeEmptyGroupsOnLoad?: boolean;
        removeIncompleteRulesOnLoad?: boolean;
        fieldSeparator?: string;
        fieldSeparatorDisplay?: string;
        formatReverse?: import("react-awesome-query-builder").FormatReverse;
        sqlFormatReverse?: import("react-awesome-query-builder").SqlFormatReverse;
        spelFormatReverse?: import("react-awesome-query-builder").SpelFormatReverse;
        formatField?: import("react-awesome-query-builder").FormatField;
        formatSpelField?: import("react-awesome-query-builder").FormatSpelField;
        formarAggr?: import("react-awesome-query-builder").FormatAggr;
    };
};
export {};
//# sourceMappingURL=getQueryBuilderConfig.d.ts.map