import type { Node, Edge } from '@xyflow/react'; export interface ComponentItem { id: string; label: string; category: string; icon: string; description: string; color: string; inputs?: string[]; outputs?: string[]; engines?: string[]; } export interface ChatMessage { id: string; agent: string; content: string; timestamp: Date; type: 'user' | 'agent' | 'system'; } export interface TerminalEntry { id: string; timestamp: Date; level: 'info' | 'warn' | 'error' | 'success'; source: string; message: string; } export interface ValidationIssue { id: string; severity: 'error' | 'warning' | 'info'; node?: string; field?: string; message: string; } export interface AuditEntry { id: string; timestamp: Date; user: string; action: string; detail: string; } export interface SettlementItem { id: string; txId: string; status: 'pending' | 'in_review' | 'awaiting_approval' | 'dispatched' | 'partially_settled' | 'settled' | 'failed'; amount: string; asset: string; counterparty: string; timestamp: Date; } export interface Notification { id: string; title: string; message: string; type: 'info' | 'success' | 'warning' | 'error'; timestamp: Date; read: boolean; } export interface ThreadEntry { id: string; title: string; agent: Agent; timestamp: Date; messageCount: number; } export interface TransactionTab { id: string; name: string; nodes: Node[]; edges: Edge[]; } export interface HistoryEntry { nodes: Node[]; edges: Edge[]; } export type TransactionNode = Node<{ label: string; category: string; icon: string; color: string; status?: 'valid' | 'warning' | 'error'; }>; export type TransactionEdge = Edge<{ animated?: boolean; }>; export type PanelSide = 'left' | 'right' | 'bottom'; export type SessionMode = 'Sandbox' | 'Simulate' | 'Live' | 'Compliance Review'; export type ActivityTab = 'builder' | 'assets' | 'templates' | 'compliance' | 'routes' | 'protocols' | 'agents' | 'terminal' | 'audit' | 'settings'; export type BottomTab = 'terminal' | 'validation' | '800system' | 'settlement' | 'audit' | 'messages' | 'events' | 'reconciliation' | 'exceptions'; export type Agent = 'Builder' | 'Compliance' | 'Routing' | 'ISO-20022' | 'Settlement' | 'Risk' | 'Documentation'; export type ConversationScope = 'current-node' | 'current-flow' | 'full-transaction' | 'terminal' | 'compliance';