@necto-ai/pgit
Version:
Private file tracking with dual git repositories
87 lines • 2.82 kB
TypeScript
import { Preset } from '../types/config.types';
import { ConfigManager } from './config.manager';
import { BaseError } from '../errors/base.error';
/**
* Preset management errors
*/
export declare class PresetError extends BaseError {
readonly code = "PRESET_ERROR";
readonly recoverable = true;
}
export declare class PresetNotFoundError extends BaseError {
readonly code = "PRESET_NOT_FOUND";
readonly recoverable = false;
}
export declare class PresetValidationError extends BaseError {
readonly code = "PRESET_VALIDATION_ERROR";
readonly recoverable = true;
}
/**
* Manager for handling built-in and user-defined presets
*/
export declare class PresetManager {
private builtinPresets;
private readonly configManager;
private readonly globalPresetManager;
constructor(configManager: ConfigManager);
/**
* Get a specific preset by name
* Priority: Local user presets > Global user presets > Built-in presets
*/
getPreset(name: string): Promise<Preset | undefined>;
/**
* Get all available presets (local user, global user, and built-in)
* Priority: Local user presets > Global user presets > Built-in presets
*/
getAllPresets(): Promise<{
builtin: Record<string, Preset>;
localUser: Record<string, Preset>;
globalUser: Record<string, Preset>;
merged: Record<string, Preset>;
}>;
/**
* Save a user-defined preset (local or global)
*/
saveUserPreset(name: string, preset: Preset, global?: boolean): Promise<void>;
/**
* Save a local user-defined preset (project-specific)
*/
saveLocalUserPreset(name: string, preset: Preset): Promise<void>;
/**
* Save a global user-defined preset
*/
saveGlobalUserPreset(name: string, preset: Preset): void;
/**
* Remove a user-defined preset (local or global)
*/
removeUserPreset(name: string, global?: boolean): Promise<boolean>;
/**
* Remove a local user-defined preset
*/
removeLocalUserPreset(name: string): Promise<boolean>;
/**
* Remove a global user-defined preset
*/
removeGlobalUserPreset(name: string): boolean;
/**
* Check if a preset exists (local user, global user, or built-in)
*/
presetExists(name: string): Promise<boolean>;
/**
* Get preset source type
*/
getPresetSource(name: string): Promise<'localUser' | 'globalUser' | 'builtin' | 'none'>;
/**
* Update last used timestamp for a preset
*/
markPresetUsed(name: string): Promise<void>;
/**
* Load built-in presets from presets.json
*/
private getBuiltinPresets;
/**
* Load local user-defined presets from config
*/
private getLocalUserPresets;
}
//# sourceMappingURL=preset.manager.d.ts.map