import { type IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
import { type INotification } from "@gooddata/sdk-model";
/**
 * Hook for fetching all and unread notifications.
 *
 * @internal
 */
export interface IUseNotificationsProps {
    /**
     * Workspace to fetch notifications from.
     *
     * - If not provided, the workspace from WorkspaceProvider is used.
     * - If not provided and there is no WorkspaceProvider, notifications will be loaded from all workspaces.
     */
    workspace?: string;
    /**
     * Backend to fetch notifications from.
     */
    backend?: IAnalyticalBackend;
    /**
     * Refresh interval in milliseconds.
     */
    refreshInterval: number;
    /**
     * Number of items per page.
     */
    itemsPerPage: number;
    /**
     * Whether export to document storage is enabled.
     */
    enableScheduleNotifications: boolean;
}
/**
 * @internal
 */
export declare function useNotifications({ workspace, refreshInterval, itemsPerPage, enableScheduleNotifications }: IUseNotificationsProps): {
    notifications: INotification[];
    notificationsStatus: "error" | "loading" | "pending" | "success";
    notificationsError: import("@gooddata/sdk-ui").GoodDataSdkError | undefined;
    notificationsHasNextPage: boolean;
    notificationsLoadNextPage: () => void;
    notificationsReset: () => void;
    unreadNotifications: 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>;
};
//# sourceMappingURL=useNotifications.d.ts.map