caravan-x
Version:
A terminal-based utility for managing Caravan multisig wallets in regtest mode. This tool simplifies development and testing with Caravan by providing an easy-to-use interface
67 lines (66 loc) • 1.74 kB
TypeScript
import { ConfigProfile, ProfilesIndex, EnhancedAppConfig, SetupMode } from "../types/config";
/**
* Manages multiple configuration profiles for Caravan-X
*/
export declare class ProfileManager {
private baseDir;
private profilesDir;
private indexPath;
constructor(baseDir: string);
/**
* Initialize profile directory structure
*/
initialize(): Promise<void>;
/**
* Get the profiles index
*/
getIndex(): Promise<ProfilesIndex>;
/**
* Save the profiles index
*/
private saveIndex;
/**
* List all profiles
*/
listProfiles(): Promise<ProfilesIndex["profiles"]>;
/**
* Get profiles by mode
*/
getProfilesByMode(mode: SetupMode): Promise<ProfilesIndex["profiles"]>;
/**
* Check if any profiles exist
*/
hasProfiles(): Promise<boolean>;
/**
* Get a specific profile
*/
getProfile(profileId: string): Promise<ConfigProfile | null>;
/**
* Get the active profile
*/
getActiveProfile(): Promise<ConfigProfile | null>;
/**
* Create a new profile
*/
createProfile(name: string, mode: SetupMode, config: EnhancedAppConfig): Promise<ConfigProfile>;
/**
* Update an existing profile's config
*/
updateProfile(profileId: string, config: EnhancedAppConfig): Promise<void>;
/**
* Rename a profile
*/
renameProfile(profileId: string, newName: string): Promise<void>;
/**
* Set the active profile
*/
setActiveProfile(profileId: string): Promise<void>;
/**
* Delete a profile
*/
deleteProfile(profileId: string): Promise<void>;
/**
* Generate a unique profile ID
*/
private generateProfileId;
}