import type { ElementType } from 'react'; export interface BannerIcons { info: ElementType; success: ElementType; warning: ElementType; error: ElementType; neutral: ElementType; } export interface BannerProps { children: React.ReactNode; variant?: 'filled' | 'soft'; severity?: 'info' | 'success' | 'warning' | 'error' | 'neutral'; size?: 'small' | 'medium' | 'large'; icon?: React.ReactNode | boolean; title?: string; subtitle?: string; closable?: boolean; onClose?: () => void; action?: React.ReactNode; actionText?: string; onAction?: () => void; position?: 'top' | 'bottom' | 'inline'; fullWidth?: boolean; centered?: boolean; role?: 'banner' | 'alert' | 'status'; icons?: BannerIcons; closeIcon?: ElementType; actionIcon?: ElementType; [key: string]: any; }