import type { Topic, TopicHierarchy, DocumentArea } from '../types/index.js'; /** * Topic Index - parses index.md files to build hierarchical topic structure */ export declare class TopicIndex { private hierarchies; private docsPath; constructor(docsPath?: string); /** * Builds the topic index by parsing index.md files */ build(): Promise; /** * Parses an index.md file to extract topic hierarchy */ private parseIndexFile; /** * Parses topics from index.md content * Expects format like: * - [Topic Title](path/to/file.md) * - [Subtopic](path/to/subtopic.md) */ private parseTopicsFromContent; /** * Counts total number of topics (including children) */ private countTopics; /** * Gets the topic hierarchy for a specific area */ getHierarchy(area: DocumentArea): TopicHierarchy | undefined; /** * Gets topics up to a specific depth */ getTopicsWithDepth(area: DocumentArea, maxDepth: number): Topic[]; /** * Filters topics by maximum depth */ private filterByDepth; /** * Finds topics under a specific parent path */ getTopicsUnderPath(area: DocumentArea, parentPath: string): Topic[]; /** * Finds a topic by its path */ private findTopicByPath; /** * Flattens the topic hierarchy into a list */ flattenTopics(topics: Topic[]): Topic[]; /** * Gets all topics for an area (flattened) */ getAllTopics(area: DocumentArea): Topic[]; } //# sourceMappingURL=topic-index.d.ts.map