import { type PostgresAccessor } from '../../accessor/postgres.ts';
import type { PathSpec } from '../../types.ts';
/**
 * The lines of a relation's rows.jsonl that may hold `text`. A LIKE (ILIKE
 * under -i) over every column that can spell `text` picks the rows whose value
 * holds it, plus any row with a control character the line spells as an
 * escape; grep matches each line itself. The rows come in the plain read's
 * order: a keyed relation's in key order; a keyless table's in ctid order, the
 * order the plain read scans the heap in, whatever plan the filter gets (an
 * index or a parallel scan returns them otherwise); any other relation's
 * numbered as a plain read returns them before the filter. Null for any other
 * file, when the columns or the text keep a LIKE from seeing every match
 * (`searches`), when a date or time column is searched and the driver does not
 * read those types as text (`TEXT_PROBE`), or past `maxReadRows` rows or
 * `maxReadBytes` bytes, where reading the file refuses it as too large.
 * Mirrors `lines_containing` in `mirage/core/postgres/search.py`.
 */
export declare function linesContaining(accessor: PostgresAccessor, path: PathSpec, text: string, ignoreCase: boolean): Promise<Uint8Array | null>;
//# sourceMappingURL=search.d.ts.map