/**
 * Which SQL dialect a Lucid client speaks, and the few spellings that differ between them.
 *
 * The agent's raw SQL is written once, Postgres/SQLite-style, with `"double-quoted"` identifiers —
 * which MySQL reads as string literals unless the server runs with `ANSI_QUOTES`. {@link portableSql}
 * is the one place that turns them into MySQL's backticks.
 */
/** The dialect name Lucid reports (`postgres`, `mysql`, `better-sqlite3`, …), or `''` when unknown. */
export declare function dialectOf(db: unknown): string;
/** Does this client talk to MySQL (or MariaDB)? */
export declare function isMySql(db: unknown): boolean;
/**
 * `sql` with its `"identifiers"` in the client's quoting: backticks on MySQL, unchanged elsewhere.
 * Every statement this is given quotes identifiers only — values are always bound (`?`) or written
 * in single quotes — so swapping the character is a full translation.
 */
export declare function portableSql(db: unknown, sql: string): string;
//# sourceMappingURL=sql-dialect.d.ts.map