polish-cli
Version:
AI-powered file organization for Obsidian with automatic markdown conversion
68 lines • 1.98 kB
TypeScript
import { Profile, ProfileSummary, Config } from '../types/index.js';
export declare class ProfileManager {
private profilesDir;
private activeProfileFile;
private configService;
constructor();
/**
* Initialize the profile system
*/
initialize(): Promise<void>;
/**
* Create a new profile
*/
createProfile(name: string, config: Config, description?: string): Promise<Profile>;
/**
* Get a profile by name
*/
getProfile(name: string): Promise<Profile | null>;
/**
* Update an existing profile
*/
updateProfile(name: string, updates: Partial<Pick<Profile, 'description' | 'config'>>): Promise<Profile>;
/**
* Delete a profile
*/
deleteProfile(name: string): Promise<void>;
/**
* List all profiles
*/
listProfiles(): Promise<ProfileSummary[]>;
/**
* Get the currently active profile name
*/
getActiveProfile(): Promise<string | null>;
/**
* Set the active profile
*/
setActiveProfile(name: string): Promise<void>;
/**
* Get the active profile's configuration
*/
getActiveConfig(): Promise<Config>;
/**
* Clone a profile with a new name
*/
cloneProfile(sourceName: string, targetName: string, description?: string): Promise<Profile>;
/**
* Rename a profile
*/
renameProfile(oldName: string, newName: string): Promise<void>;
/**
* Import profiles from a JSON file
*/
importProfiles(filePath: string, overwrite?: boolean): Promise<string[]>;
/**
* Export profiles to a JSON file
*/
exportProfiles(filePath: string, profileNames?: string[]): Promise<void>;
/**
* Migrate legacy configuration to profile system
*/
migrateLegacyConfig(): Promise<boolean>;
private hasAnyProfiles;
private createDefaultProfile;
private getProfilePath;
private validateProfileName;
}
//# sourceMappingURL=ProfileManager.d.ts.map