/**
 * Path Constants Module
 *
 * Provides centralized path constants for bundled (read-only) and user-editable files.
 * Bundled files are shipped with the package, user files are stored in ~/.pluginator/
 */
/**
 * Bundled paths (relative to package, read-only)
 * These files are shipped with the package and should not be modified by users
 */
export declare const BUNDLED_PATHS: {
    /** Root directory for bundled default files */
    readonly defaults: string;
    /** Default application configuration */
    readonly defaultConfig: string;
    /** Default plugin sources configuration */
    readonly defaultSources: string;
    /** Curated plugin registry (v1 format - single file, deprecated) */
    readonly defaultRegistry: string;
    /** Curated plugin registry directory (v2 format - individual files) */
    readonly registryDir: string;
    /** Registry metadata file */
    readonly registryMetadata: string;
    /** Default theme configuration */
    readonly defaultTheme: string;
    /** Curated theme gallery for marketplace */
    readonly themeGallery: string;
    /** Language/localization files */
    readonly lang: string;
};
/**
 * User directory root (~/.pluginator)
 */
export declare const USER_DIR: string;
/**
 * User paths (in home directory, user-editable)
 * These files can be customized by the user
 */
export declare const USER_PATHS: {
    /** Root directory for user data */
    readonly root: string;
    /** User's configuration file (overrides defaults) */
    readonly config: string;
    /** User's feature configuration file (v2.0.1 - Plan 12) */
    readonly features: string;
    /** User's custom plugin registry entries */
    readonly customRegistry: string;
    /** User's custom source configurations (can disable bundled sources) */
    readonly customSources: string;
    /** User's plugin registry - how to find updates for configured plugins */
    readonly pluginsRegistry: string;
    /** User's plugin preferences - enable/disable, skip migrate, pinned */
    readonly preferences: string;
    /** Scan cache - cached JAR scan results */
    readonly scanCache: string;
    /** Update check cache - cached update check results */
    readonly updateCache: string;
    /** Authentication session file */
    readonly session: string;
    /** Encryption salt for session file */
    readonly salt: string;
    /** First launch marker */
    readonly firstLaunchMarker: string;
    /** Root directory for server configurations */
    readonly servers: string;
    /** Global servers configuration */
    readonly serversConfig: string;
    /** Root directory for backups */
    readonly backups: string;
    /** Root directory for cache files */
    readonly cache: string;
    /** Root directory for log files */
    readonly logs: string;
    /** Plugin list (legacy combined format) */
    readonly plugins: string;
    /** Production server plugins list */
    readonly pluginsProd: string;
    /** Test server plugins list */
    readonly pluginsTest: string;
    /** Sources configuration (user overrides) */
    readonly sources: string;
};
/**
 * Legacy paths for migration detection
 * These were used in previous versions and need migration
 */
export declare const LEGACY_PATHS: {
    /** Old config file location */
    readonly config: "./config/pluginator.config";
    /** Old plugins list (combined) */
    readonly plugins: "./data/plugins.json";
    /** Old production plugins list */
    readonly pluginsProd: "./data/plugins-prod.json";
    /** Old test plugins list */
    readonly pluginsTest: "./data/plugins-test.json";
    /** Old sources configuration */
    readonly sources: "./data/sources.json";
    /** Old theme configuration */
    readonly theme: "./config/theme.json";
    /** Old data directory */
    readonly data: "./data";
    /** Old backups directory */
    readonly backups: "./data/backups";
    /** Old logs directory */
    readonly logs: "./data/logs";
    /** Old cache directory */
    readonly cache: "./data/.cache";
};
/**
 * Get paths specific to a server
 * @param serverId Unique server identifier
 */
export declare function getServerPaths(serverId: string): {
    /** Server root directory */
    root: string;
    /** Server's plugin list */
    plugins: string;
    /** Server's backup directory */
    backups: string;
    /** Server's cache directory */
    cache: string;
};
/**
 * Ensure all required user directories exist
 * Creates directories with appropriate permissions
 */
export declare function ensureUserDirectories(): void;
/**
 * Check if a legacy path exists
 * @param path The legacy path to check
 */
export declare function hasLegacyPath(path: string): boolean;
/**
 * Check if any legacy data exists that needs migration
 */
export declare function hasLegacyData(): boolean;
/**
 * Get the appropriate config path (user path if exists, otherwise bundled)
 */
export declare function getEffectiveConfigPath(): string;
/**
 * Export path types for TypeScript
 */
export type BundledPathKey = keyof typeof BUNDLED_PATHS;
export type UserPathKey = keyof typeof USER_PATHS;
export type LegacyPathKey = keyof typeof LEGACY_PATHS;
//# sourceMappingURL=paths.d.ts.map