import { type ComponentType } from "react"; import { type IAnalyticalBackend } from "@gooddata/sdk-backend-spi"; import { type INotification } from "@gooddata/sdk-model"; import { type ILocale } from "@gooddata/sdk-ui"; import { type INotificationsPanelComponentProps } from "./DefaultNotificationsPanel.js"; import { type INotificationsPanelButtonComponentProps } from "./DefaultNotificationsPanelButton.js"; import { type INotificationsPanelHeaderComponentProps } from "./DefaultNotificationsPanelHeader.js"; import { type INotificationComponentProps } from "../Notification/DefaultNotification.js"; import { type INotificationsListComponentProps } from "../NotificationsList/DefaultNotificationsList.js"; import { type INotificationsListEmptyStateComponentProps } from "../NotificationsList/DefaultNotificationsListEmptyState.js"; import { type INotificationsListErrorStateComponentProps } from "../NotificationsList/DefaultNotificationsListErrorState.js"; import { type INotificationSkeletonItemComponentProps } from "../NotificationsList/DefaultSkeletonItem.js"; /** * @public */ export interface INotificationsPanelCustomComponentsProps { /** * Custom open notifications panel button component. * * - Required if renderInline is not enabled. */ NotificationsPanelButton?: ComponentType; /** * Custom notifications panel component. */ NotificationsPanel?: ComponentType; /** * Custom notifications panel header component. */ NotificationsPanelHeader?: ComponentType; /** * Custom notifications list component. */ NotificationsList?: ComponentType; /** * Custom notifications list empty state component. */ NotificationsListEmptyState?: ComponentType; /** * Custom notifications list error state component. */ NotificationsListErrorState?: ComponentType; /** * Custom notification component. */ Notification?: ComponentType; /** * Custom notification skeleton item component. */ NotificationSkeletonItem?: ComponentType; } /** * @public */ export interface INotificationsPanelProps extends INotificationsPanelCustomComponentsProps { /** * Locale to use. */ locale?: ILocale; /** * Backend to use. * * - If not defined, the backend from the BackendProvider context will be used. */ backend?: IAnalyticalBackend; /** * Workspace ID to use. * * - If not defined, the workspace ID from the WorkspaceProvider context will be used. * - If workspace is not defined and there is no WorkspaceProvider, notifications will be loaded from all workspaces. */ workspace?: string; /** * Enable inline rendering of the notifications panel * * - Default: false * - If enabled, NotificationsPanelButton won't be rendered, and NotificationsPanel won't be rendered inside modal * - This is useful when you want to render notifications panel in a custom modal. */ renderInline?: boolean; /** * Refresh interval in milliseconds. * * - Default: 600000 (10 minutes) * - If set to 0, notifications won't be refreshed automatically. */ refreshInterval?: number; /** * Number of notifications to load per page. * * - Default: 50 */ itemsPerPage?: number; /** * Number of skeleton items to render when loading notifications. * * - Default: 5 */ skeletonItemsCount?: number; /** * Height of the item in notifications list in pixels. * * - Default: 52 */ itemHeight?: number; /** * Optionally override max width of the notifications panel. * * - Does not have effect when renderInline is true - inline rendering always fills the parent container. */ maxWidth?: number | string; /** * Maximum height of the notifications list in pixels. * * - Default: 527 * - Does not have effect when renderInline is true - inline rendering always fills the parent container. */ maxListHeight?: number; /** * Gap between notification items in the list in pixels. * * - Default: 10 */ itemsGap?: number; /** * Padding of the notification item (from left and right) in pixels. * * - Default: 15 */ itemPadding?: number; /** * Callback for notification click. */ onNotificationClick?: (notification: INotification) => void; /** * Enable export to document storage. * * - Default: false */ enableScheduleNotifications?: boolean; } /** * @public */ export declare function NotificationsPanel(props: INotificationsPanelProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=NotificationsPanel.d.ts.map