import { StorageRepository } from "./repository/StorageRepository.js"; import { SourceConfigResolver as Resolver } from "./SourceConfigResolver.js"; import { PrefixIndexLine } from "./utils/typs.js"; import { CacheProvider } from "./cache/CacheProvider.js"; import { IIndexReader } from "./IIndexReader.js"; /** * PrefixTreeWalker: handles prefix tree traversal and index reading. */ export declare class PrefixTreeWalker implements IIndexReader { private readonly repository; private readonly resolver; private readonly cache; constructor(repository: StorageRepository, resolver: Resolver, cache: CacheProvider); /** * 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 the first index of the specified directory. */ private findFirstIndexPath; /** * Get the index of the deepest level below the specified directory. */ private findLastIndexPath; /** * Indexes are scanned downward from the specified index directory. */ walkPrefixIndexesDownword(indexParentDir: string): AsyncGenerator; /** * Indexes are scanned upward from the specified index directory. */ walkPrefixIndexesUpword(indexParentDir: string): AsyncGenerator; /** * Get Prefix Index file path converted with Unicode. */ private getIndexPath; }