import { type VariantProps } from 'class-variance-authority'; import type * as React from 'react'; declare const notificationDotVariants: (props?: ({ size?: "md" | "sm" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export type NotificationPanelItemType = 'message' | 'meeting' | 'task' | 'system'; export interface NotificationPanelAction { /** Label for the action button */ label: string; /** Callback when action is clicked */ onClick?: () => void; /** Whether this is the primary action */ primary?: boolean; } export interface NotificationPanelItemProps { /** Unique identifier for the notification */ id: string; /** Avatar image source */ avatarSrc?: string; /** Avatar fallback text (for initials) */ avatarFallback?: string; /** Name of the sender/source */ name: string; /** Time since notification was received */ time: string; /** Title/heading of the notification */ title: string; /** Description/body text */ description?: string; /** Whether the notification is unread */ unread?: boolean; /** Show online status indicator on avatar */ showOnlineStatus?: boolean; /** Type of notification */ type?: NotificationPanelItemType; /** Meeting date (for meeting type) */ meetingDate?: string; /** Meeting time (for meeting type) */ meetingTime?: string; /** Actions available for this notification */ actions?: NotificationPanelAction[]; /** Highlighted text segments in description */ highlightedSegments?: Array<{ text: string; highlighted: boolean; }>; /** Callback when notification item is clicked */ onClick?: () => void; /** Additional CSS classes */ className?: string; } declare function NotificationPanelItem({ id, avatarSrc, avatarFallback, name, time, title, description, unread, showOnlineStatus, type, meetingDate, meetingTime, actions, highlightedSegments, onClick, className, }: NotificationPanelItemProps): React.JSX.Element; declare namespace NotificationPanelItem { var displayName: string; } export interface NotificationSectionProps { /** Section title (e.g., "Today", "Previous") */ title: string; /** Notifications in this section */ children: React.ReactNode; /** Additional CSS classes */ className?: string; } declare function NotificationSection({ title, children, className, }: NotificationSectionProps): React.JSX.Element; declare namespace NotificationSection { var displayName: string; } declare const notificationPanelVariants: (props?: ({ variant?: "desktop" | "mobile" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export interface NotificationPanelProps extends VariantProps { /** Title of the panel */ title?: string; /** Callback when settings button is clicked */ onSettingsClick?: () => void; /** Callback when "Mark all read" is clicked */ onMarkAllRead?: () => void; /** Callback when "Clear all" is clicked */ onClearAll?: () => void; /** Callback when close button is clicked */ onClose?: () => void; /** Panel content (NotificationSection or NotificationPanelItem components) */ children: React.ReactNode; /** Whether to show overlay background (mobile variant) */ showOverlay?: boolean; /** Fixed width for desktop variant */ width?: number; /** Fixed height for the panel */ height?: number; /** Additional CSS classes */ className?: string; } declare function NotificationPanel({ title, variant, onSettingsClick, onMarkAllRead, onClearAll, onClose, children, showOverlay, width, height, className, }: NotificationPanelProps): React.JSX.Element; declare namespace NotificationPanel { var displayName: string; } export { NotificationPanel, NotificationPanelItem, NotificationSection, notificationDotVariants, notificationPanelVariants, };