import { Play, Square, RotateCcw, Eye, Archive, ArchiveRestore, Trash2, } from 'lucide-react';
/**
 * Static mapping from FeatureNodeState to available row actions (FR-2).
 *
 * - creating / deleting → no actions (transient states)
 * - Each entry lists actions in display order
 * - Delete and Archive require confirmation dialogs
 * - Start, Stop, Retry, Unarchive, Review execute immediately
 */
export const FEATURE_ROW_ACTIONS_CONFIG = {
    creating: [],
    deleting: [],
    pending: [
        { key: 'start', label: 'Start', icon: Play, requiresConfirmation: false },
        { key: 'archive', label: 'Archive', icon: Archive, requiresConfirmation: true },
        { key: 'delete', label: 'Delete', icon: Trash2, requiresConfirmation: true },
    ],
    running: [
        { key: 'stop', label: 'Stop', icon: Square, requiresConfirmation: false },
        { key: 'archive', label: 'Archive', icon: Archive, requiresConfirmation: true },
        { key: 'delete', label: 'Delete', icon: Trash2, requiresConfirmation: true },
    ],
    error: [
        { key: 'retry', label: 'Retry', icon: RotateCcw, requiresConfirmation: false },
        { key: 'archive', label: 'Archive', icon: Archive, requiresConfirmation: true },
        { key: 'delete', label: 'Delete', icon: Trash2, requiresConfirmation: true },
    ],
    'action-required': [
        { key: 'review', label: 'Review', icon: Eye, requiresConfirmation: false },
        { key: 'archive', label: 'Archive', icon: Archive, requiresConfirmation: true },
        { key: 'delete', label: 'Delete', icon: Trash2, requiresConfirmation: true },
    ],
    done: [
        { key: 'archive', label: 'Archive', icon: Archive, requiresConfirmation: true },
        { key: 'delete', label: 'Delete', icon: Trash2, requiresConfirmation: true },
    ],
    blocked: [
        { key: 'archive', label: 'Archive', icon: Archive, requiresConfirmation: true },
        { key: 'delete', label: 'Delete', icon: Trash2, requiresConfirmation: true },
    ],
    archived: [
        { key: 'unarchive', label: 'Unarchive', icon: ArchiveRestore, requiresConfirmation: false },
        { key: 'delete', label: 'Delete', icon: Trash2, requiresConfirmation: true },
    ],
};
