import { R as RuleProcessor, V as ValueProcessorByRule, a as ValueProcessorOptions, F as FormatQueryOptions, P as ParameterizedSQL, b as ParameterizedNamedSQL, c as RQBJsonLogic, E as ExportFormat, d as ValueProcessorLegacy } from './importExport-e051698c.js';
import { R as RuleType, a as RuleGroupTypeAny } from './basic-6e8613a6.js';

declare const defaultRuleProcessorCEL: RuleProcessor;

declare const defaultRuleProcessorMongoDB: RuleProcessor;

declare const defaultRuleProcessorSpEL: RuleProcessor;

declare const defaultValueProcessorByRule: ValueProcessorByRule;

declare const defaultRuleProcessorJsonLogic: RuleProcessor;

type DefaultRuleProcessorSqlParams = ValueProcessorOptions & {
    valueProcessor?: ValueProcessorByRule;
    quoteFieldNamesWith?: string | [string, string];
};
declare const defaultRuleProcessorSQL: (rule: RuleType, { parseNumbers, escapeQuotes, quoteFieldNamesWith, valueProcessor, }?: DefaultRuleProcessorSqlParams) => string;

/**
 * Generates a formatted (indented two spaces) JSON string from a query object.
 */
declare function formatQuery(ruleGroup: RuleGroupTypeAny): string;
/**
 * Generates a {@link ParameterizedSQL} object from a query object.
 */
declare function formatQuery(ruleGroup: RuleGroupTypeAny, options: 'parameterized' | (Omit<FormatQueryOptions, 'format'> & {
    format: 'parameterized';
})): ParameterizedSQL;
/**
 * Generates a {@link ParameterizedNamedSQL} object from a query object.
 */
declare function formatQuery(ruleGroup: RuleGroupTypeAny, options: 'parameterized_named' | (Omit<FormatQueryOptions, 'format'> & {
    format: 'parameterized_named';
})): ParameterizedNamedSQL;
/**
 * Generates a {@link JsonLogic} object from a query object.
 */
declare function formatQuery(ruleGroup: RuleGroupTypeAny, options: 'jsonlogic' | (Omit<FormatQueryOptions, 'format'> & {
    format: 'jsonlogic';
})): RQBJsonLogic;
/**
 * Generates a formatted (indented two spaces) JSON string from a query object.
 */
declare function formatQuery(ruleGroup: RuleGroupTypeAny, options: Omit<FormatQueryOptions, 'format'>): string;
/**
 * Generates a query string in the requested format.
 */
declare function formatQuery(ruleGroup: RuleGroupTypeAny, options: Exclude<ExportFormat, 'parameterized' | 'parameterized_named' | 'jsonlogic'>): string;
/**
 * Generates a query string in the requested format.
 */
declare function formatQuery(ruleGroup: RuleGroupTypeAny, options: Omit<FormatQueryOptions, 'format'> & {
    format: Exclude<ExportFormat, 'parameterized' | 'parameterized_named' | 'jsonlogic'>;
}): string;

/**
 * Register these operators with jsonLogic before applying the
 * result of formatQuery(query, 'jsonlogic').
 *
 * @example
 * ```
 * for (const [op, func] of Object.entries(jsonLogicAdditionalOperators)) {
 *   jsonLogic.add_operation(op, func);
 * }
 * jsonLogic.apply({ "startsWith": [{ "var": "firstName" }, "Stev"] }, data);
 * ```
 */
declare const jsonLogicAdditionalOperators: Record<'startsWith' | 'endsWith', (...args: any[]) => boolean>;

declare const defaultValueProcessor: ValueProcessorLegacy;
/**
 * @deprecated Prefer `defaultRuleProcessorMongoDB`.
 */
declare const defaultMongoDBValueProcessor: ValueProcessorLegacy;
/**
 * @deprecated Prefer `defaultRuleProcessorCEL`.
 */
declare const defaultCELValueProcessor: ValueProcessorLegacy;
/**
 * @deprecated Prefer `defaultRuleProcessorSpEL`.
 */
declare const defaultSpELValueProcessor: ValueProcessorLegacy;

/**
 * @deprecated Renamed to "defaultRuleProcessorCEL".
 */
declare const defaultValueProcessorCELByRule: RuleProcessor;
/**
 * @deprecated Renamed to "defaultRuleProcessorMongoDB".
 */
declare const defaultValueProcessorMongoDBByRule: RuleProcessor;
/**
 * @deprecated Renamed to "defaultRuleProcessorSpEL".
 */
declare const defaultValueProcessorSpELByRule: RuleProcessor;

export { defaultCELValueProcessor, defaultMongoDBValueProcessor, defaultRuleProcessorCEL, defaultRuleProcessorJsonLogic, defaultRuleProcessorMongoDB, defaultRuleProcessorSQL, defaultRuleProcessorSpEL, defaultSpELValueProcessor, defaultValueProcessor, defaultValueProcessorByRule, defaultValueProcessorCELByRule, defaultValueProcessorMongoDBByRule, defaultValueProcessorSpELByRule, formatQuery, jsonLogicAdditionalOperators };
