/**
 * Manages CLI profiles (contexts) for multi-environment support.
 * Profiles are stored under ~/.flui/profiles/<name>/.
 * The active profile is stored in ~/.flui/context.
 *
 * Override active profile at runtime with FLUI_PROFILE env var.
 */
export declare class ProfileManager {
    static readonly BASE_DIR: string;
    static readonly PROFILES_DIR: string;
    static readonly CONTEXT_FILE: string;
    static readonly DEFAULT_PROFILE = "default";
    /**
     * Returns the currently active profile name.
     * Priority: FLUI_PROFILE env var > ~/.flui/context file > 'default'
     */
    static getActiveProfile(): string;
    /**
     * Sets the active profile in ~/.flui/context.
     * Does not validate that the profile exists — callers should check first.
     */
    static setActiveProfile(name: string): void;
    /**
     * Returns the directory path for a given profile.
     * If no profile is specified, uses the active profile.
     */
    static getProfileDir(profile?: string): string;
    /**
     * Returns all existing profile names (directory names under ~/.flui/profiles/).
     */
    static listProfiles(): string[];
    /**
     * Returns true if a profile directory exists.
     */
    static profileExists(name: string): boolean;
    /**
     * Creates a new profile directory with secure permissions.
     * Throws if the profile already exists.
     */
    static createProfile(name: string): void;
    /**
     * Deletes a profile directory.
     * Throws if trying to delete the default profile or a non-existent profile.
     */
    static deleteProfile(name: string): void;
    /**
     * Migrates legacy ~/.flui/ flat layout to ~/.flui/profiles/default/.
     *
     * Runs automatically on first launch after upgrade. Idempotent:
     * if ~/.flui/profiles/ already exists, does nothing.
     */
    static migrateIfNeeded(): void;
    private static ensureBaseDir;
    private static validateProfileName;
    private static copyDirSync;
}
