import type { TestApp } from "../boot-app.ts"; /** Fluent assertions over the rows of a single SQLite table. Each matcher awaits a * fresh read of the table and resolves to the same object so calls chain. */ export interface TableAssert { /** Assert the table contains at least one row whose columns deep-match `subset` * (a SUBSET match — extra columns on the row are ignored). */ hasRow(subset: Record): Promise; /** Assert the table holds exactly `n` rows. */ rowCount(n: number): Promise; /** Assert the table holds no rows. */ isEmpty(): Promise; } /** Entry point for SQLite-table assertions; `table(name)` narrows to one table. */ export interface DbAssert { table(name: string): TableAssert; } /** Assert over the app's provisioned SQLite (`app.db`). */ export declare function assertThatDb(app: TestApp): DbAssert;