/**
 * Group Types
 *
 * Type definitions for the plugin grouping system.
 *
 * @since v1.28.0
 */
import type { TagColor } from './tag-types.js';
/**
 * A plugin group
 */
export interface PluginGroup {
    /** Unique identifier */
    id: string;
    /** Display name */
    name: string;
    /** Optional description */
    description?: string;
    /** Plugin names in this group */
    plugins: string[];
    /** Group color */
    color: TagColor;
    /** Optional icon (emoji) */
    icon?: string;
    /** When the group was created */
    createdAt: string;
    /** Whether the group is expanded in UI */
    isExpanded: boolean;
}
/**
 * Group store data structure
 */
export interface GroupStore {
    /** Store version for migrations */
    version: string;
    /** All defined groups */
    groups: PluginGroup[];
}
/**
 * Current store version
 */
export declare const GROUP_STORE_VERSION = "1.0";
/**
 * Create an empty group store
 */
export declare function createEmptyGroupStore(): GroupStore;
/**
 * Group status summary
 */
export interface GroupStatus {
    /** Total plugins in group */
    totalPlugins: number;
    /** Plugins that are up to date */
    upToDate: number;
    /** Plugins with updates available */
    outdated: number;
    /** Plugins with errors */
    errors: number;
    /** Plugins that are disabled */
    disabled: number;
}
/**
 * Plugin item for status calculation
 */
export interface PluginStatusItem {
    name: string;
    hasUpdate?: boolean;
    error?: string;
    disabled?: boolean;
}
/**
 * Create an empty group status
 */
export declare function createEmptyGroupStatus(): GroupStatus;
//# sourceMappingURL=group-types.d.ts.map