import { AtomicTopic, TopicSearchParams, TopicSearchResult, BCKBConfig } from '../types/bc-knowledge.js'; import { BCSpecialist, SpecialistConsultation, SpecialistResponse } from '../types/persona-types.js'; /** * Business Central Knowledge Service * * Manages loading, caching, and searching of atomic BC knowledge topics * using the layered architecture system. Provides intelligent topic discovery * and relationship traversal with support for project overrides. */ export declare class KnowledgeService { private config; private layerService; private initialized; private personaRegistry; constructor(config: BCKBConfig); /** * Initialize the knowledge service by loading all layers */ initialize(): Promise; private getTagIndexes; /** * Search for topics based on various criteria using the layer system */ searchTopics(params: TopicSearchParams): Promise; /** * Get a specific topic by ID with layer resolution */ getTopic(topicId: string, includeSamples?: boolean): Promise; /** * Get topic relationships and learning paths from layers */ getTopicRelationships(topicId: string): Promise; /** * Find learning pathways that include this topic */ private findLearningPathways; /** * Find topics related by domain using layer system */ private findRelatedByDomain; /** * Find topics by type from frontmatter (e.g., 'code-pattern', 'workflow') */ findTopicsByType(type: string): Promise; /** * Get knowledge base statistics from layer system */ getStatistics(): { total_topics: number; total_layers: number; layer_details: import("../types/layer-types.js").LayerStatistics[]; domains: any; most_common_tags: any; initialized: boolean; last_loaded: string; memory_usage: number; }; /** * Search topics by specialist persona */ searchTopicsBySpecialist(specialistId: string, query?: string, limit?: number): Promise; /** * Get specialist consultation for a specific topic */ getSpecialistConsultation(topicId: string, question?: string): Promise; /** * Natural language specialist consultation */ askSpecialist(question: string, specialistId?: string): Promise; /** * Get all available specialists */ getAllSpecialists(): BCSpecialist[]; /** * Get specialists by expertise area */ getSpecialistsByExpertise(expertiseArea: string): BCSpecialist[]; /** * Get specialist collaboration recommendations */ getCollaboratingSpecialists(primarySpecialistId: string, question: string): BCSpecialist[]; /** * Find specialists by search query */ findSpecialistsByQuery(query: string): BCSpecialist[]; private generateConsultationApproach; private generateExpertiseContext; private generateConsultationGuidance; private generateFollowUpSuggestions; } //# sourceMappingURL=knowledge-service.d.ts.map