export interface TreeNodeData { id: string; label: string; type: string; properties?: { fileCount?: number; totalSize?: number; fileTypes?: Record; sizeByType?: Record; [key: string]: any; }; children?: TreeNodeData[]; parent?: string; collapsed?: boolean; } export interface ChartData { labels: string[]; values: number[]; colors?: string[]; } interface Statistics { totalFiles: number; totalCodeSize: number; totalPages: number; totalComponents: number; fileTypes: Record; sizeByType: Record; } export interface TreeViewProps { data: TreeNodeData; onNodeSelect: (node: TreeNodeData) => void; selectedNodeId?: string; onExpandAll?: () => void; onCollapseAll?: () => void; } export interface NodeDetailsProps { node: TreeNodeData; } export interface TabsProps { tabs: { id: string; label: string; content: any; }[]; } declare global { interface Window { __TREE_DATA__: TreeNodeData; __STATISTICS__: Statistics; preactApp: { hydrate: () => void; }; } } export {};