/**
 * User Preferences Type Definitions
 *
 * Types for user-specific plugin preferences like enable/disable, skip migrate, pinned.
 * This is separate from plugin definitions (user-registry.ts) to avoid data coupling.
 *
 * Data Model (Plan 01):
 * - Registry: How to find updates (source IDs, patterns)
 * - Scan Cache: What's actually installed (from JAR scan)
 * - Preferences: User flags (enable/disable, skip migrate, pinned) <- THIS FILE
 *
 * @since v1.50.0
 */
/**
 * User preferences for plugins
 * Stored at ~/.pluginator/preferences.json
 */
export interface PluginPreferences {
    /** Schema version for migrations */
    version: 1;
    /** Last modified timestamp (ISO 8601) */
    lastModified: string;
    /** Plugin names disabled on production server */
    disabledOnProd: string[];
    /** Plugin names disabled on test server */
    disabledOnTest: string[];
    /** Plugin names to skip when migrating to production */
    skipMigrateToProd: string[];
    /** Plugin names pinned to top of lists */
    pinned: string[];
    /** Plugin names marked as favorites */
    favorites: string[];
    /** Notes attached to plugins (plugin name -> note text) */
    notes: Record<string, string>;
    /** Plugin names to auto-update without confirmation */
    autoUpdate?: string[];
    /** Plugin-specific settings (plugin name -> settings object) */
    pluginSettings?: Record<string, Record<string, unknown>>;
}
/**
 * Default empty preferences
 */
export declare const DEFAULT_PREFERENCES: PluginPreferences;
/**
 * Server target for enable/disable operations
 */
export type ServerTarget = 'prod' | 'test' | 'both';
/**
 * Result of checking plugin preferences
 */
export interface PluginPreferenceState {
    /** Plugin name */
    name: string;
    /** Is disabled on production */
    disabledOnProd: boolean;
    /** Is disabled on test */
    disabledOnTest: boolean;
    /** Should skip migration to production */
    skipMigrate: boolean;
    /** Is pinned to top of lists */
    pinned: boolean;
    /** Is marked as favorite */
    favorite: boolean;
    /** User note (if any) */
    note?: string;
}
//# sourceMappingURL=preferences.d.ts.map