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