/**
 * Plugin Status Command
 *
 * Provides status reporting and health monitoring for all plugin types
 * (frameworks, add-ons, extensions).
 *
 * @module src/plugin/plugin-status
 */
/**
 * Plugin types
 */
export type PluginType = 'framework' | 'add-on' | 'extension';
/**
 * Health status levels
 */
export type HealthStatus = 'healthy' | 'warning' | 'error';
/**
 * Plugin entry from registry
 */
export interface PluginEntry {
    id: string;
    type: PluginType;
    name: string;
    version: string;
    path: string;
    installedAt: string;
    parentFramework?: string;
    projects?: string[];
    health?: {
        status: HealthStatus;
        lastCheck: string;
        issues?: string[];
    };
}
/**
 * Plugin status result
 */
export interface PluginStatusResult {
    id: string;
    type: PluginType;
    name: string;
    version: string;
    installedAt: string;
    path: string;
    health: HealthStatus;
    healthDetails: string[];
    projects?: string[];
    parentFramework?: string;
    diskUsage?: number;
}
/**
 * Status summary
 */
export interface StatusSummary {
    totalPlugins: number;
    healthyCount: number;
    warningCount: number;
    errorCount: number;
    frameworkCount: number;
    addOnCount: number;
    extensionCount: number;
    totalDiskUsage: number;
    legacyMode: boolean;
}
/**
 * Status command options
 */
export interface StatusOptions {
    type?: PluginType;
    pluginId?: string;
    verbose?: boolean;
}
/**
 * PluginStatus provides status reporting for plugins
 */
export declare class PluginStatus {
    private aiwgRoot;
    private registryPath;
    constructor(aiwgRoot: string);
    /**
     * Get status of all plugins or filtered by options
     *
     * @param options - Filter options
     * @returns Array of plugin status results
     */
    getStatus(options?: StatusOptions): Promise<PluginStatusResult[]>;
    /**
     * Get status summary
     *
     * @returns Summary statistics
     */
    getSummary(): Promise<StatusSummary>;
    /**
     * Get status of a single plugin
     *
     * @param plugin - Plugin entry
     * @param verbose - Include detailed information
     * @returns Plugin status result
     */
    private getPluginStatus;
    /**
     * Perform health check on a plugin
     *
     * @param plugin - Plugin entry
     * @returns Health check result
     */
    private performHealthCheck;
    /**
     * Get disk usage for a plugin
     *
     * @param plugin - Plugin entry
     * @returns Disk usage in bytes
     */
    private getPluginDiskUsage;
    /**
     * Calculate total size of a directory
     */
    private calculateDirectorySize;
    /**
     * Check if workspace is in legacy mode
     *
     * @returns True if no frameworks directory exists
     */
    private isLegacyMode;
    /**
     * Load plugins from registry
     *
     * @returns Array of plugin entries
     */
    private loadPlugins;
    /**
     * Generate text report
     *
     * @param options - Status options
     * @returns Formatted text report
     */
    generateReport(options?: StatusOptions): Promise<string>;
    /**
     * Get health status icon
     */
    private getHealthIcon;
    /**
     * Format bytes as human-readable string
     */
    private formatBytes;
}
//# sourceMappingURL=plugin-status.d.ts.map