import type { LanceDBAccessor } from '../../accessor/lancedb.ts';
import type { LanceRow } from './types.ts';
/** Render an equality with Rust's shared Lance SQL quoting. */
export declare function eqClause(column: string, value: string): string;
/** Render group filters and a literal name prefix in Lance SQL. */
export declare function predicate(column: string, filters: Record<string, string>, prefix: string): string;
/** Render the filter for string columns holding one of the ASCII text needles. */
export declare function holdingClause(columns: readonly string[], texts: readonly string[], ignoreCase: boolean, filters: Record<string, string>): string;
/**
 * The string columns of a table's card, or null when a column the card
 * renders is neither a string nor a scalar. Mirrors Python's `text_columns`.
 */
export declare function textColumns(accessor: LanceDBAccessor, table: string, skipped: ReadonlySet<string>): Promise<string[] | null>;
/**
 * Every row the clause keeps, `columns` selected, or null when more than
 * `limit` do. Mirrors Python's `rows_where`.
 */
export declare function rowsWhere(accessor: LanceDBAccessor, table: string, clause: string, columns: string[], limit: number): Promise<LanceRow[] | null>;
export declare function tableExists(accessor: LanceDBAccessor, name: string): Promise<boolean>;
export declare function searchRows(accessor: LanceDBAccessor, table: string, query: string, limit: number): Promise<LanceRow[]>;
//# sourceMappingURL=query.d.ts.map