import type { AbstractSqlQuery, AbstractSqlType, InsertQueryNode, SelectQueryNode, UnionQueryNode, UpdateQueryNode, DeleteQueryNode, UpsertQueryNode, StrictTextTypeNodes, StrictNumberTypeNodes, StrictBooleanTypeNodes, StrictDateTypeNodes, StrictDurationTypeNodes, StrictTextArrayTypeNodes, StrictJSONTypeNodes } from './abstract-sql-compiler.js'; import { Engines } from './abstract-sql-compiler.js'; export type Binding = [string, any] | ['Bind', number | string | [string, string]]; export interface SqlResult { query: string; bindings: Binding[]; } export declare const comparisons: { Equals: string; GreaterThan: string; GreaterThanOrEqual: string; LessThan: string; LessThanOrEqual: string; NotEquals: string; Like: string; }; export declare const isTextValue: (type: unknown) => type is StrictTextTypeNodes[0]; export declare const isNumericValue: (type: unknown) => type is StrictNumberTypeNodes[0]; export declare const isBooleanValue: (type: unknown) => type is StrictBooleanTypeNodes[0]; export declare const isDateValue: (type: unknown) => type is StrictDateTypeNodes[0]; export declare const isRangeValue: (_type: unknown) => _type is never; export declare const isArrayValue: (type: unknown) => type is StrictTextArrayTypeNodes[0]; export declare const isJSONValue: (type: unknown) => type is StrictJSONTypeNodes[0]; export declare const isDurationValue: (type: unknown) => type is StrictDurationTypeNodes[0]; export declare const isNotNullable: (node: AbstractSqlType) => boolean; export declare const isAbstractSqlQuery: (x: AbstractSqlType) => x is AbstractSqlQuery; export declare const getAbstractSqlQuery: (args: AbstractSqlType[], index: number) => AbstractSqlQuery; declare const mathOps: { Add: string; Subtract: string; Multiply: string; Divide: string; BitwiseAnd: string; BitwiseShiftRight: string; }; export type MathOps = keyof typeof mathOps; export declare const checkArgs: (matchName: string, args: any[], num: number) => void; export declare const checkMinArgs: (matchName: string, args: any[], num: number) => void; export declare function AbstractSQLRules2SQL(abstractSQL: UpsertQueryNode, $engine: Engines, $noBinds: true): [string, string]; export declare function AbstractSQLRules2SQL(abstractSQL: AbstractSqlQuery, $engine: Engines, $noBinds: true): string; export declare function AbstractSQLRules2SQL(abstractSQL: UpsertQueryNode, $engine: Engines, $noBinds?: false): [SqlResult, SqlResult]; export declare function AbstractSQLRules2SQL(abstractSQL: SelectQueryNode | UnionQueryNode | InsertQueryNode | UpdateQueryNode | DeleteQueryNode, $engine: Engines, $noBinds?: false): SqlResult; export declare function AbstractSQLRules2SQL(abstractSQL: AbstractSqlQuery, $engine: Engines, $noBinds?: false): SqlResult | [SqlResult, SqlResult]; export declare function AbstractSQLRules2SQL(abstractSQL: AbstractSqlQuery, $engine: Engines, $noBinds?: boolean): SqlResult | [SqlResult, SqlResult] | string; export {};