/**
 * Escapes single quotes in a value destined for a single-quoted SQL string literal.
 *
 * @param value - Raw string value to escape
 * @returns The value with embedded single quotes doubled per SQL string-literal rules
 */
export declare function escapeSqlString(value: string): string;
/**
 * Quotes a SQL identifier if it collides with a Calcite reserved word.
 *
 * Pass a bare column name; if it is a reserved word it is returned double-quoted
 * (for example `method` -> `"method"`), otherwise it is returned unchanged. Use this
 * whenever a report references a column whose name might be reserved.
 *
 * @param name - Bare column or identifier name
 * @returns The identifier, double-quoted only if it is a Calcite reserved word
 */
export declare function quoteIdentifierIfReserved(name: string): string;
/**
 * Returns true if the given bare identifier is a Calcite reserved word.
 *
 * @param name - Bare identifier name
 * @returns Whether the name requires double-quoting in Calcite SQL
 */
export declare function isReservedIdentifier(name: string): boolean;
/**
 * Builds a quoted, escaped SQL string literal from a raw value.
 *
 * @param value - Raw string value
 * @returns A single-quoted, escaped SQL string literal (for example `O'Brien` -> `'O''Brien'`)
 */
export declare function stringLiteral(value: string): string;
/**
 * Validates a `YYYY-MM-DD` date string and returns it as a quoted SQL date literal.
 *
 * @param value - Date string expected in `YYYY-MM-DD` form
 * @returns A quoted SQL date literal
 * @throws {Error} If the value is not a valid `YYYY-MM-DD` date
 */
export declare function dateLiteral(value: string): string;
/**
 * Validates a boolean string (`true`/`false`, case-insensitive) and returns the SQL literal.
 *
 * @param value - Boolean string value
 * @returns The lowercase boolean literal `true` or `false`
 * @throws {Error} If the value is not `true` or `false`
 */
export declare function booleanLiteral(value: string): string;
/**
 * Validates and returns an integer SQL literal within an inclusive range.
 *
 * @param value - Raw integer string
 * @param min - Inclusive lower bound
 * @param max - Inclusive upper bound
 * @returns The integer rendered as a bare SQL literal
 * @throws {Error} If the value is not an integer within `[min, max]`
 */
export declare function integerLiteral(value: string, min: number, max: number): string;
/**
 * Builds a comma-separated, quoted string list for a SQL `IN (...)` clause.
 *
 * @param values - Raw string values
 * @returns The escaped, single-quoted values joined by commas (no surrounding parens)
 * @throws {Error} If `values` is empty
 */
export declare function stringInList(values: string[]): string;
