import { Logger } from '../observability/logger.js'; import { NeuromcpConfig } from '../config.js'; type LintSeverity = 'critical' | 'warning' | 'suggestion'; interface LintIssue { readonly severity: LintSeverity; readonly page: string; readonly message: string; } interface IngestInput { readonly filename: string; } interface IngestDeps { readonly config: NeuromcpConfig; readonly logger: Logger; } interface IngestResult { readonly filename: string; readonly file_path: string; readonly file_size_bytes: number; readonly content: string; readonly metadata: { readonly suggested_title: string; readonly suggested_type: string; readonly key_concepts: readonly string[]; readonly mentioned_people: readonly string[]; readonly mentioned_projects: readonly string[]; readonly mentioned_tools: readonly string[]; }; readonly existing_pages: { readonly potentially_related: readonly string[]; readonly index_entries: readonly string[]; }; readonly suggestions: readonly string[]; } declare function wikiIngest(input: IngestInput, deps: IngestDeps): IngestResult; interface LintDeps { readonly config: NeuromcpConfig; readonly logger: Logger; } interface LintReport { readonly total_pages: number; readonly issues: readonly LintIssue[]; readonly summary: { readonly critical: number; readonly warning: number; readonly suggestion: number; }; readonly report_path: string; } declare function wikiLint(deps: LintDeps): LintReport; interface BriefingInput { readonly days?: number; } interface BriefingDeps { readonly config: NeuromcpConfig; readonly logger: Logger; } interface BriefingProject { readonly slug: string; readonly title: string; readonly updated: string; readonly confidence: string; readonly days_since_update: number; } interface BriefingResult { readonly generated_at: string; readonly lookback_days: number; readonly active_projects: readonly BriefingProject[]; readonly stale_projects: readonly BriefingProject[]; readonly unprocessed_sources: readonly string[]; readonly recent_changelog: readonly string[]; readonly stale_pages: readonly { readonly page: string; readonly days_stale: number; }[]; readonly page_count: number; readonly lint_summary: { readonly has_report: boolean; readonly report_date: string | null; }; } declare function wikiBriefing(input: BriefingInput, deps: BriefingDeps): BriefingResult; export { type BriefingDeps, type BriefingInput, type IngestDeps, type IngestInput, type LintDeps, wikiBriefing, wikiIngest, wikiLint };