UNPKG

gather-ts

Version:

A powerful code analysis and packaging tool designed for creating AI-friendly code representations for javascript and typescript projects.

42 lines (41 loc) 1.77 kB
import { IConfigManager, IConfigManagerDeps, IConfigManagerOptions, IConfigChangeEvent, IConfigMetrics } from "./interfaces/IConfigManager"; import { IGatherTSConfig as IGatherTSConfig, IConfigValidationResult } from "@/types/config"; import { BaseService } from "@/types/services"; export declare class ConfigManager extends BaseService implements IConfigManager { private readonly deps; private eventEmitter; private config; private readonly configPath; private readonly projectRoot; private readonly debug; private readonly watch; private watchHandler?; private metrics; constructor(projectRoot: string, deps: IConfigManagerDeps, options?: IConfigManagerOptions); on(event: string | symbol, listener: (...args: any[]) => void): this; emit(event: string | symbol, ...args: any[]): boolean; removeAllListeners(event?: string | symbol): this; initialize(): Promise<void>; cleanup(): void; private initializeMetrics; private logDebug; getConfig(): IGatherTSConfig; private startWatching; private loadConfig; updateConfig(updates: Partial<IGatherTSConfig>): Promise<IGatherTSConfig>; saveConfig(): Promise<void>; reset(): void; getMetrics(): IConfigMetrics; onConfigChange(callback: (event: IConfigChangeEvent) => void): void; getProjectRoot(): string; getTokenizerModel(): string; getMaxDepth(): number | undefined; shouldShowTokenCount(): boolean; getTopFilesCount(): number; isDebugEnabled(): boolean; getModelTokenLimit(): number; getTokenWarning(totalTokens: number): string | null; validateConfig(config: Partial<IGatherTSConfig>): IConfigValidationResult; private validateTokenizerConfig; private validateOutputFormat; }