/**
 * User preferences management
 */
import { ToolsetConfig } from "../server/tools/toolset/types.js";
/**
 * User preferences structure
 */
export interface UserPreferences {
    /** Stored toolset configurations */
    toolsets: Record<string, ToolsetConfig>;
    /** User's preferred path to their MCP server configuration file */
    mcpConfigPath?: string;
    /** Name of the last equipped toolset */
    lastEquippedToolset?: string;
    /** Last updated timestamp */
    lastUpdated?: string;
    /** Version of preferences format */
    version?: string;
}
/**
 * Complete configuration structure
 */
export interface CompleteConfig extends UserPreferences {
    /** Custom persona directory path (overrides default ~/.toolprint/hypertool-mcp/personas) */
    personaDir?: string;
    /** Application sync configurations */
    applications?: Record<string, any>;
    /** Last backup timestamp */
    lastBackup?: string;
    /** Server-related settings */
    serverSettings?: {
        /** Maximum number of concurrent server connections */
        maxConcurrentConnections?: number;
    };
    /** Feature flags for experimental functionality */
    featureFlags?: {
        /** Enable interactive setup wizard on first run (default: disabled) */
        setupWizardEnabled?: boolean;
    };
}
/**
 * Load complete configuration from config file
 */
export declare function loadCompleteConfig(): Promise<CompleteConfig>;
/**
 * Load user preferences from config file
 */
export declare function loadUserPreferences(): Promise<UserPreferences>;
/**
 * Save user preferences to config file
 */
export declare function saveUserPreferences(preferences: UserPreferences): Promise<void>;
/**
 * Update MCP config path preference
 */
export declare function updateMcpConfigPath(configPath: string): Promise<void>;
/**
 * Get stored toolsets
 */
export declare function loadStoredToolsets(): Promise<Record<string, ToolsetConfig>>;
/**
 * Save toolsets
 */
export declare function saveStoredToolsets(toolsets: Record<string, ToolsetConfig>): Promise<void>;
/**
 * Get the last equipped toolset name
 */
export declare function getLastEquippedToolset(): Promise<string | undefined>;
/**
 * Save the last equipped toolset name
 */
export declare function saveLastEquippedToolset(toolsetName: string | undefined): Promise<void>;
/**
 * Get a specific feature flag value
 */
export declare function getFeatureFlag(flagName: string): Promise<boolean | undefined>;
/**
 * Set a specific feature flag value
 */
export declare function setFeatureFlag(flagName: string, value: boolean): Promise<void>;
/**
 * Get all feature flags
 */
export declare function getFeatureFlags(): Promise<Record<string, boolean> | undefined>;
/**
 * Get paths for configuration files
 */
export declare function getConfigPaths(): {
    brandDir: string;
    appDir: string;
    configFile: string;
    preferencesFile: string;
};
//# sourceMappingURL=preferenceStore.d.ts.map