import React, { ComponentType, FC, ReactNode } from "react";
import { AnalyticsEvent, Notification } from "../../../api/notifications";
export type LinkProps = {
    label?: string;
    href?: string;
    entity?: {
        id: string;
        type: string;
    };
    parentEntity?: {
        id: string;
        type: string;
    };
};
export type C3NotificationContextValue = {
    enabled: boolean;
    notifications: Notification[];
    markAsRead: (notification: Notification) => void;
    markAllAsRead: (notifications: Notification[]) => void;
    dismiss: (notification: Notification) => void;
    dismissAll: (notifications: Notification[]) => void;
    analytics: (event: AnalyticsEvent, id?: string) => void;
};
export declare const C3NotificationContext: React.Context<C3NotificationContextValue>;
export type C3NotificationProviderProps = {
    children?: ReactNode;
};
declare const C3NotificationProvider: FC<C3NotificationProviderProps>;
export declare function withNotifications<P>(Component: ComponentType<P>): ComponentType<P>;
export default C3NotificationProvider;
