import { type ReactNode } from "react";
import { type IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
import { useNotifications } from "./useNotifications.js";
/**
 * @internal
 */
export type INotificationsContext = ReturnType<typeof useNotifications>;
/**
 * @internal
 */
export declare const useNotificationsContext: () => {
    notifications: import("@gooddata/sdk-model").INotification[];
    notificationsStatus: "error" | "loading" | "pending" | "success";
    notificationsError: import("@gooddata/sdk-ui").GoodDataSdkError | undefined;
    notificationsHasNextPage: boolean;
    notificationsLoadNextPage: () => void;
    notificationsReset: () => void;
    unreadNotifications: import("@gooddata/sdk-model").INotification[];
    unreadNotificationsStatus: "error" | "loading" | "pending" | "success";
    unreadNotificationsError: import("@gooddata/sdk-ui").GoodDataSdkError | undefined;
    unreadNotificationsHasNextPage: boolean;
    unreadNotificationsLoadNextPage: () => void;
    unreadNotificationsReset: () => void;
    unreadNotificationsCount: number;
    markNotificationAsRead: (notificationId: string) => Promise<void>;
    markAllNotificationsAsRead: () => Promise<void>;
};
/**
 * @internal
 */
export interface INotificationsProviderProps {
    backend?: IAnalyticalBackend;
    workspace?: string;
    children?: ReactNode;
    refreshInterval: number;
    itemsPerPage: number;
    enableScheduleNotifications: boolean;
}
/**
 * @internal
 */
export declare function NotificationsProvider({ children, backend, workspace, refreshInterval, itemsPerPage, enableScheduleNotifications, }: INotificationsProviderProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=NotificationsContext.d.ts.map