import type { AsyncClient, AsyncSqlTag, ResultRow, RootSqlTag, SqlFragment, SqlQuery, SqlRowsPromise, SqlValue, SyncClient, SyncSqlTag } from './types.js'; export declare class AsyncBoundRows implements SqlRowsPromise { #private; query: SqlQuery; constructor(client: AsyncClient, query: SqlQuery); then(onfulfilled?: ((value: TRow[]) => TResult1 | PromiseLike) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike) | null): Promise; catch(onrejected?: ((reason: unknown) => TResult | PromiseLike) | null): Promise; finally(onfinally?: (() => void) | null): Promise; } export declare class SyncBoundRows implements SqlRowsPromise { #private; query: SqlQuery; constructor(client: SyncClient, query: SqlQuery); then(onfulfilled?: ((value: TRow[]) => TResult1 | PromiseLike) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike) | null): Promise; catch(onrejected?: ((reason: unknown) => TResult | PromiseLike) | null): Promise; finally(onfinally?: (() => void) | null): Promise; } export declare function isSqlFragment(value: unknown): value is SqlFragment; export declare const sql: RootSqlTag; export declare function raw(value: string): SqlFragment; export declare function join(values: SqlValue[], separator?: string): SqlFragment; export declare function bindSyncSql(client: SyncClient): SyncSqlTag; export declare function bindAsyncSql(client: AsyncClient): AsyncSqlTag;