export interface QueryOptions { /** Colonnes PostgREST (`select=`). Défaut `*`. */ select?: string; /** Filtres bruts PostgREST, ex. { sector: "eq.Financials", name: "ilike.*uber*" }. */ filters?: Record; /** Tri, ex. "total_funding.desc". */ order?: string; /** Décalage (pagination). */ offset?: number; /** Nombre de lignes (≤ 1000). */ limit?: number; /** Demander le compte exact total (header Prefer count=exact). */ withCount?: boolean; } export interface QueryResult { rows: T[]; /** Total de lignes correspondant au filtre (si withCount), sinon undefined. */ total?: number; } /** Exécute une requête PostgREST avec retry (1 tentative supplémentaire). */ export declare function query(table: string, opts?: QueryOptions): Promise>; /** * Rapatrie TOUTES les lignes d'une requête en paginant par tranches de 1000. * Utilisé pour les facettes/stats. Borné par maxRows pour rester raisonnable. */ export declare function queryAll(table: string, opts?: QueryOptions, maxRows?: number): Promise; /** Échappe une valeur pour un filtre PostgREST `ilike` (motif *...*). */ export declare function ilikePattern(term: string): string;