import { SourceConfigResolver as Resolver } from "./SourceConfigResolver.js"; import { SourceRecord } from "./types.js"; import { StorageRepository } from "./repository/StorageRepository.js"; import { SourceLoader } from "./SourceLoader"; import { LoggerProvider } from "./logger/LoggerProvider"; import { PrefixIndexDepth, PrefixIndexLine } from "./utils/typs.js"; export type { DiffEntry, DirectRelationMap, ThroughRelationMap } from "./types.js"; export type { IIndexReader } from "./IIndexReader.js"; /** * Indexer: facade class that composes PrefixTreeWalker and IndexBuilder. * * Maintains the same public API as before the split for backward compatibility. */ export declare class Indexer { static indexPrefix: string; static indexDepth: PrefixIndexDepth; private walker; private builder; constructor(sourceLoader: SourceLoader, repository: StorageRepository, resolver: Resolver, logger: LoggerProvider, customIndexers?: Record any>); /** Returns the path to the prefixes index dir. */ static getIndexDir(sourceName: string, field: string): string; /** * Saves indexes and slug lists for all sources. */ save(): Promise; /** * Incrementally updates affected indexes based on diff entries. */ updateIndexesForFiles(diffEntries: import("./types.js").DiffEntry[]): Promise; /** * Get PrefixIndexLines for next page. */ readForwardPrefixIndexLines(rootDir: string, pageSize?: number, cursor?: string, orderByKey?: string, isDesc?: boolean): AsyncGenerator; /** * Get PrefixIndexLines for backward pagination. */ readBackwardPrefixIndexLines(rootDir: string, pageSize?: number, cursor?: string, orderByKey?: string, isDesc?: boolean): AsyncGenerator; /** * Read index file lines. */ readIndexFileLines(indexPath: string, reverse: boolean): AsyncGenerator; /** * Find PrefixIndexLine list with stream. */ findIndexLines(sourceName: string, field: string, value: string, filterCallback?: (indexValue: string, argValue: string) => boolean): Promise; /** * Flatten PrefixIndexLine array by ref keys. */ flatPrefixIndexLine(unflattened: PrefixIndexLine[]): PrefixIndexLine[]; /** * Get Prefix Index directories path converted with Unicode. */ getPrefixIndexPath(value: string, depth: number): string; }