import type { Database, SQLQueryBindings } from "bun:sqlite";
import type { SqlExpr } from "../search/types.js";
export declare class SelectQuery {
    #private;
    constructor(db: Database, table: string);
    Select(...fields: string[]): this;
    AndWhere(expr: SqlExpr | Record<string, unknown>): this;
    GroupBy(expr: string): this;
    OrderBy(expr: string): this;
    Limit(limit: number): this;
    Offset(offset: number): this;
    One<T extends Record<string, unknown> = Record<string, unknown>>(): T | null;
    All<T extends Record<string, unknown> = Record<string, unknown>>(): T[];
    Row<T = unknown>(): T | null;
    Build(): {
        SQL: () => string;
        Params: () => SQLQueryBindings[];
    };
}
