import * as React from "react"; export type DashboardMode = "expense" | "income"; export type DashboardPeriodType = "rolling" | "calendar"; export interface DashboardState { mode: DashboardMode; periodType: DashboardPeriodType; comparison: boolean; } export interface DashboardSection { id: string; title?: string; summary?: string; component: React.ComponentType; dataKey?: string; settings?: Record; isList?: boolean; style?: { size?: number; [key: string]: any; }; } export interface ColorDefinition { primary: string; background?: string; text?: string; } export interface ThemeAwarePalette { light: ColorDefinition; dark: ColorDefinition; } export interface DashboardConfig { sections: DashboardSection[]; style?: { palette?: Record; }; } export interface DashboardProps { config: DashboardConfig; data: any; // Aggregated data from features latest: any[]; // Latest items from features onModeChange?: (mode: DashboardMode) => void; }