import type { SQL } from "drizzle-orm";
import type { SybaseSelectConfig } from "./query-builders/select.js";
/**
 * Escape a Sybase identifier with brackets.
 */
export declare const escapeName: (name: string) => string;
/**
 * Escape a string value for inline SQL (single-quote wrapping + escaping).
 *
 * Handles:
 * - Single quotes (doubled)
 * - Null bytes (removed — Sybase db-lib cannot handle \0 in strings)
 * - Backslashes (kept as-is — Sybase does not use C-style escaping)
 */
export declare const escapeString: (str: string) => string;
/**
 * Serialize a JS value to inline SQL literal.
 *
 * Handles all JavaScript types and edge cases:
 * - null/undefined → NULL
 * - numbers (including NaN/Infinity checks)
 * - booleans → 1/0
 * - Date → Sybase-compatible datetime string
 * - Buffer → hex literal (0x...)
 * - bigint → numeric string
 * - Arrays → throws (use individual values)
 * - Strings → escaped string literal
 */
export declare const serializeValue: (value: unknown) => string;
export declare class SybaseDialect {
    /**
     * Convert a Drizzle SQL object to a raw SQL string for Sybase.
     * All parameters are inlined.
     */
    sqlToQuery(sqlObj: SQL): string;
    /**
     * Serialize a column value to inline SQL.
     * Handles SQL expressions (getSQL/toQuery), mapToDriverValue, and raw values.
     */
    serializeColumnValue(value: unknown, col: any): string;
    /**
     * Build a SELECT SQL string from config.
     */
    buildSelectQuery(config: SybaseSelectConfig): string;
}
//# sourceMappingURL=dialect.d.ts.map