import { ReactNode } from "react"; import { AppStatus } from "../ppp-loans/loan"; import { Text } from "../ui/localization"; import { MenuItem } from "./menu"; export interface HeaderPopupProps { logout?: () => void; user?: { /** First name in the US */ givenName: string; /** Last name in the US */ surname: string; }; } export declare type NotificationPopupItemProps = { applicationUuid: string; authorName: string; created: Date; borrowerName: string; noteUuid: string; onNoteClicked: (note: NotificationPopupItemProps) => void; subject: string; unread: boolean; author: string; reader: string; uuid: string; app_status: AppStatus; form_type: string; }; export declare type NotificationPopupPropsNote = Omit & { noteUuid: string; }; export declare type NotificationPopupProps = { notes?: NotificationPopupPropsNote[]; onDismissed?: () => void; onNoteClicked: (note: NotificationPopupItemProps) => void; }; export interface HeaderProps extends HeaderPopupProps { /** Links that appear just to the left of the institution name. */ applicationLinks?: { content: Text; href: string; }[]; disabled?: boolean; extraLinks?: ReactNode; logoLink?: string; /** An optional dropdown menu with items. */ menuItems?: (MenuItem & { key: string; })[]; notes?: (Omit & { noteUuid: string; })[]; /** Invoked when a menuItem is selected by the user. */ onMenuItemClicked?: (item: MenuItem) => void; onNotificationClicked?: (note: NotificationPopupItemProps) => void; onNotificationPopupDismissed?: () => void; onSearchChange?: (search: string) => void; /** If provided a tools icon will appear that links to the provided HREF. */ toolsHref?: string; userPopupHidden?: boolean; baseHref?: string; } export interface HeaderDropDownProps { items: (MenuItem & { key: string; })[]; onItemClicked: (item: MenuItem) => void; }