export interface ConfigLocation { scope: 'project' | 'global'; filePath: string; relativeTo: 'workspace' | 'home' | 'appdata'; create: boolean; } export interface IDEProfileDetection { workspaceDirs: string[]; processNames: string[]; globalDirs: string[]; globalDirsRelativeTo?: string; cliCheck?: string; } export interface IDEProfile { displayName: string; configLocations: ConfigLocation[]; jsonRootKey: string; detection: IDEProfileDetection; skillsDir: string | null; rulesDir: string | null; notes: string; } export interface IDEProfiles { version: string; profiles: Record; } export interface DetectedIDE { id: string; profile: IDEProfile; confidence: number; reasons: string[]; } export interface ConfigWriteResult { ide: string; scope: string; path: string; success: boolean; error?: string; } /** * Load IDE profiles from the bundled config-profiles/ide-profiles.json. * Results are cached for the process lifetime. */ export declare function loadProfiles(): IDEProfiles; /** * Clear the cached profiles (useful for testing or after profile updates). */ export declare function clearProfileCache(): void; /** * Get the platform-appropriate AppData directory. * - Windows: %APPDATA% (e.g. C:\Users\X\AppData\Roaming) * - macOS: ~/Library/Application Support * - Linux: ~/.config */ export declare function getAppDataDir(): string; /** * Resolve a ConfigLocation to an absolute filesystem path. */ export declare function resolveConfigPath(location: ConfigLocation, cwd: string): string; /** * Resolve a relative directory path using the same base logic as ConfigLocation, * given a `relativeTo` hint and the workspace cwd. */ export declare function resolveDetectionDir(dir: string, relativeTo: string | undefined, cwd: string): string; /** * Get the IDE profile for a given IDE type string. * Falls back to a sensible default if the profile doesn't exist. */ export declare function getProfile(ideId: string): IDEProfile | null; /** * Get the skills directory for an IDE, resolved to an absolute path. * Returns null if the profile has no skillsDir. */ export declare function getProfileSkillsDir(ideId: string, cwd: string): string | null; /** * Get the rules directory for an IDE, resolved to an absolute path. * Returns null if the profile has no rulesDir. */ export declare function getProfileRulesDir(ideId: string, cwd: string): string | null; //# sourceMappingURL=config-profiles.d.ts.map