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
TypeScript
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;
}