import * as React from "react";
import { Article, NotificationPayloads, Session, Basket } from "@intelligentgraphics/igd.productdata";
import { WithSessionContext } from "./SessionContext";
export interface NotificationCenterSubscriptionSettings {
    onItemCreated?(item: Article): void;
    onItemConfigured?(item: Article): void;
    onItemGfxInserted?(item: Article): void;
    onItemGfxRemoved?(item: Article): void;
    onItemRemoved?(item: Article): void;
    onItemChanged?(payload: NotificationPayloads["ItemChanged"]): void;
}
export interface UseNotificationCenterSubscriptionSettings extends NotificationCenterSubscriptionSettings {
    session?: Session;
    basket?: Basket;
}
export declare const useNotificationCenterSubscription: (props: UseNotificationCenterSubscriptionSettings) => void;
declare const _default: (props: Pick<NotificationCenterSubscriptionProps, "onItemCreated" | "onItemConfigured" | "onItemGfxInserted" | "onItemGfxRemoved" | "onItemRemoved" | "onItemChanged"> & {
    children?: React.ReactNode;
} & Partial<WithSessionContext<Session<import("@intelligentgraphics/igd.productdata").ApplicationStateValue, NotificationPayloads<import("@intelligentgraphics/igd.productdata").ApplicationStateValue>>>>) => React.ReactElement<NotificationCenterSubscriptionProps, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)>;
export default _default;
export interface NotificationCenterSubscriptionProps extends WithSessionContext, NotificationCenterSubscriptionSettings {
}
