import type { SearchAdapter, SearchResult } from './types.js'; import type { SearchDocument } from '../types.js'; /** * Drizzle DB instance — typed as an object with an `execute` method * to avoid importing drizzle-orm at the package level. */ interface DrizzleDB { execute(query: unknown): Promise<{ rows: Array>; }>; } /** * Tagged template for building SQL — mirrors drizzle-orm's `sql` tagged template. * The adapter accepts a pre-bound `sqlTag` function so it doesn't depend on drizzle-orm. */ export type SqlTagFn = (strings: TemplateStringsArray, ...values: unknown[]) => unknown; /** * Postgres FTS search adapter. * * Searches live data via `to_tsvector` / `to_tsquery` — no separate index needed. * The `index()` and `delete()` methods are intentional no-ops. */ export declare class PostgresSearchAdapter implements SearchAdapter { private db; private sql; private language; constructor(db: DrizzleDB, sqlTag: SqlTagFn, language?: string); /** No-op: Postgres FTS searches live data, no separate index needed. */ index(_documents: SearchDocument[]): Promise; search(query: string, siteId: string, versionId: string, opts?: { limit?: number; offset?: number; }): Promise; /** No-op: Postgres FTS searches live data, no separate index to clean up. */ delete(_pageIds: string[]): Promise; } export {}; //# sourceMappingURL=postgresAdapter.d.ts.map