export interface LoadingState { isLoading: boolean; message?: string; } export interface Toast { id: string; type: 'success' | 'error' | 'info' | 'warning'; message: string; duration?: number; } export type ToastType = Toast['type']; // Common component props export interface BaseComponentProps { className?: string; children?: React.ReactNode; } // Modal/Dialog props export interface ModalProps extends BaseComponentProps { isOpen: boolean; onClose: () => void; title?: string; } // Button variants export type ButtonVariant = | 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link'; export type ButtonSize = 'default' | 'sm' | 'lg' | 'icon';