export declare const FAMILY_MATCH_SQL = "(\n sym.lang = refs.lang\n OR refs.lang = ''\n OR EXISTS (\n SELECT 1 FROM lang_family lf1\n JOIN lang_family lf2 ON lf1.family = lf2.family\n WHERE lf1.lang = sym.lang AND lf2.lang = refs.lang\n )\n OR ? IN (\n SELECT family FROM lang_family WHERE lang = refs.lang\n )\n)"; export declare function getNamespaceDeclarationsWithStatement(stmtFn: (sql: string) => { all: () => unknown[]; }): Array<{ name: string; file: string; }>; export declare function getFilePackagesWithStatement(stmtFn: (sql: string) => { all: () => unknown[]; }): Map; export declare function getUnresolvedImportsWithStatement(stmtFn: (sql: string) => { all: (...args: (string | number)[]) => unknown[]; }, maxSqlVars: number, onlyFiles?: readonly string[]): Array<{ fromFile: string; lang: string; module: string; }>; export declare function getAllResolvedRefsWithStatement(stmtFn: (sql: string) => { all: () => unknown[]; }): Array<{ fromId: number; toId: number; callType: string; }>; export declare function getAllImportRefsWithStatement(stmtFn: (sql: string) => { all: () => unknown[]; }): Array<{ sourceFile: string | null; toName: string; toId: number | null; callType: string; line: number; }>; export declare function resolveRefsWithStatement(stmtFn: (sql: string) => { run: (...args: (string | number)[]) => unknown; }): number; /** * Importer files holding an import ref whose `to_file` is no longer indexed — * the target was deleted or renamed. A watcher run only re-resolves the files * it touched, and the importer of a deleted file is not one of them, so these * are added to its scope; otherwise the edge to the missing file survives. */ export declare function getFilesWithDanglingImportsWithStatement(stmtFn: (sql: string) => { all: () => unknown[]; }): string[]; /** * Write module-resolution results. `toFile: null` records "re-resolved, no * target": it CLEARS a previous `to_file`. Only resolved entries used to be * written, so an import whose target had since been deleted kept pointing at * it through every later run, full reindex included. */ export declare function applyImportResolutionsWithStatement(db: { exec: (sql: string) => unknown; }, stmtFn: (sql: string) => { run: (...args: (string | null)[]) => unknown; }, runWithRetry: (fn: () => T) => T, maxSqlVars: number, resolutions: ReadonlyArray<{ fromFile: string; lang: string; module: string; toFile: string | null; }>): number; export declare function resolveRefsForNamesUnsafe(stmtFn: (sql: string) => { run: (...args: (string | number)[]) => unknown; }, maxSqlVars: number, names: Iterable): number; //# sourceMappingURL=writer-refs.d.ts.map