import { PayloadAction } from "@reduxjs/toolkit";
import type { UnifiedAppNotification, NotificationTemplates } from "../../interfaces/models/AppNotification";
import type { ReplykeState } from '../replykeReducers';
export interface AppNotificationsState {
    notifications: UnifiedAppNotification[];
    unreadCount: number;
    loading: boolean;
    hasMore: boolean;
    page: number;
    limit: number;
    notificationTemplates?: Partial<NotificationTemplates>;
    currentProjectId?: string;
}
export declare const appNotificationsSlice: import("@reduxjs/toolkit").Slice<AppNotificationsState, {
    setProjectContext: (state: {
        notifications: ({
            type: "system";
            action: string;
            metadata: {
                title?: string | undefined;
                content?: string | undefined;
                buttonData: {
                    text: string;
                    url: string;
                } | null;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-comment";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reply";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                replyId: string;
                replyContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-mention";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-mention";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-upvote";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-upvote";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-specific";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-total";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-specific";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-total";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "new-follow";
            action: "open-profile";
            metadata: {
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-request";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-accepted";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "space-membership-approved";
            action: "open-space";
            metadata: {
                spaceId: string;
                spaceName: string;
                spaceShortId: string;
                spaceSlug: string | null | undefined;
                spaceAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        })[];
        unreadCount: number;
        loading: boolean;
        hasMore: boolean;
        page: number;
        limit: number;
        notificationTemplates?: {
            entityComment?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
            } | undefined;
            commentReply?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
            } | undefined;
            entityMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
            } | undefined;
            commentMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
            } | undefined;
            entityUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
            } | undefined;
            commentUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
            } | undefined;
            entityReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
            } | undefined;
            commentReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            newFollow?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
            } | undefined;
            connectionRequest?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
            } | undefined;
            connectionAccepted?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
            } | undefined;
            spaceMembershipApproved?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
            } | undefined;
        } | undefined;
        currentProjectId?: string | undefined;
    }, action: PayloadAction<string>) => void;
    setLimit: (state: {
        notifications: ({
            type: "system";
            action: string;
            metadata: {
                title?: string | undefined;
                content?: string | undefined;
                buttonData: {
                    text: string;
                    url: string;
                } | null;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-comment";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reply";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                replyId: string;
                replyContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-mention";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-mention";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-upvote";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-upvote";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-specific";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-total";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-specific";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-total";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "new-follow";
            action: "open-profile";
            metadata: {
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-request";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-accepted";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "space-membership-approved";
            action: "open-space";
            metadata: {
                spaceId: string;
                spaceName: string;
                spaceShortId: string;
                spaceSlug: string | null | undefined;
                spaceAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        })[];
        unreadCount: number;
        loading: boolean;
        hasMore: boolean;
        page: number;
        limit: number;
        notificationTemplates?: {
            entityComment?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
            } | undefined;
            commentReply?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
            } | undefined;
            entityMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
            } | undefined;
            commentMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
            } | undefined;
            entityUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
            } | undefined;
            commentUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
            } | undefined;
            entityReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
            } | undefined;
            commentReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            newFollow?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
            } | undefined;
            connectionRequest?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
            } | undefined;
            connectionAccepted?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
            } | undefined;
            spaceMembershipApproved?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
            } | undefined;
        } | undefined;
        currentProjectId?: string | undefined;
    }, action: PayloadAction<number>) => void;
    setNotificationTemplates: (state: {
        notifications: ({
            type: "system";
            action: string;
            metadata: {
                title?: string | undefined;
                content?: string | undefined;
                buttonData: {
                    text: string;
                    url: string;
                } | null;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-comment";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reply";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                replyId: string;
                replyContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-mention";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-mention";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-upvote";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-upvote";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-specific";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-total";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-specific";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-total";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "new-follow";
            action: "open-profile";
            metadata: {
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-request";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-accepted";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "space-membership-approved";
            action: "open-space";
            metadata: {
                spaceId: string;
                spaceName: string;
                spaceShortId: string;
                spaceSlug: string | null | undefined;
                spaceAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        })[];
        unreadCount: number;
        loading: boolean;
        hasMore: boolean;
        page: number;
        limit: number;
        notificationTemplates?: {
            entityComment?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
            } | undefined;
            commentReply?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
            } | undefined;
            entityMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
            } | undefined;
            commentMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
            } | undefined;
            entityUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
            } | undefined;
            commentUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
            } | undefined;
            entityReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
            } | undefined;
            commentReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            newFollow?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
            } | undefined;
            connectionRequest?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
            } | undefined;
            connectionAccepted?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
            } | undefined;
            spaceMembershipApproved?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
            } | undefined;
        } | undefined;
        currentProjectId?: string | undefined;
    }, action: PayloadAction<Partial<NotificationTemplates>>) => void;
    resetNotifications: (state: {
        notifications: ({
            type: "system";
            action: string;
            metadata: {
                title?: string | undefined;
                content?: string | undefined;
                buttonData: {
                    text: string;
                    url: string;
                } | null;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-comment";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reply";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                replyId: string;
                replyContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-mention";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-mention";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-upvote";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-upvote";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-specific";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-total";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-specific";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-total";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "new-follow";
            action: "open-profile";
            metadata: {
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-request";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-accepted";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "space-membership-approved";
            action: "open-space";
            metadata: {
                spaceId: string;
                spaceName: string;
                spaceShortId: string;
                spaceSlug: string | null | undefined;
                spaceAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        })[];
        unreadCount: number;
        loading: boolean;
        hasMore: boolean;
        page: number;
        limit: number;
        notificationTemplates?: {
            entityComment?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
            } | undefined;
            commentReply?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
            } | undefined;
            entityMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
            } | undefined;
            commentMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
            } | undefined;
            entityUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
            } | undefined;
            commentUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
            } | undefined;
            entityReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
            } | undefined;
            commentReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            newFollow?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
            } | undefined;
            connectionRequest?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
            } | undefined;
            connectionAccepted?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
            } | undefined;
            spaceMembershipApproved?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
            } | undefined;
        } | undefined;
        currentProjectId?: string | undefined;
    }) => void;
    loadMore: (state: {
        notifications: ({
            type: "system";
            action: string;
            metadata: {
                title?: string | undefined;
                content?: string | undefined;
                buttonData: {
                    text: string;
                    url: string;
                } | null;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-comment";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reply";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                replyId: string;
                replyContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-mention";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-mention";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-upvote";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-upvote";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-specific";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-total";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-specific";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-total";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "new-follow";
            action: "open-profile";
            metadata: {
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-request";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-accepted";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "space-membership-approved";
            action: "open-space";
            metadata: {
                spaceId: string;
                spaceName: string;
                spaceShortId: string;
                spaceSlug: string | null | undefined;
                spaceAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        })[];
        unreadCount: number;
        loading: boolean;
        hasMore: boolean;
        page: number;
        limit: number;
        notificationTemplates?: {
            entityComment?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
            } | undefined;
            commentReply?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
            } | undefined;
            entityMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
            } | undefined;
            commentMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
            } | undefined;
            entityUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
            } | undefined;
            commentUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
            } | undefined;
            entityReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
            } | undefined;
            commentReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            newFollow?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
            } | undefined;
            connectionRequest?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
            } | undefined;
            connectionAccepted?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
            } | undefined;
            spaceMembershipApproved?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
            } | undefined;
        } | undefined;
        currentProjectId?: string | undefined;
    }) => void;
    setLoading: (state: {
        notifications: ({
            type: "system";
            action: string;
            metadata: {
                title?: string | undefined;
                content?: string | undefined;
                buttonData: {
                    text: string;
                    url: string;
                } | null;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-comment";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reply";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                replyId: string;
                replyContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-mention";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-mention";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-upvote";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-upvote";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-specific";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-total";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-specific";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-total";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "new-follow";
            action: "open-profile";
            metadata: {
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-request";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-accepted";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "space-membership-approved";
            action: "open-space";
            metadata: {
                spaceId: string;
                spaceName: string;
                spaceShortId: string;
                spaceSlug: string | null | undefined;
                spaceAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        })[];
        unreadCount: number;
        loading: boolean;
        hasMore: boolean;
        page: number;
        limit: number;
        notificationTemplates?: {
            entityComment?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
            } | undefined;
            commentReply?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
            } | undefined;
            entityMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
            } | undefined;
            commentMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
            } | undefined;
            entityUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
            } | undefined;
            commentUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
            } | undefined;
            entityReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
            } | undefined;
            commentReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            newFollow?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
            } | undefined;
            connectionRequest?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
            } | undefined;
            connectionAccepted?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
            } | undefined;
            spaceMembershipApproved?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
            } | undefined;
        } | undefined;
        currentProjectId?: string | undefined;
    }, action: PayloadAction<boolean>) => void;
    addNotifications: (state: {
        notifications: ({
            type: "system";
            action: string;
            metadata: {
                title?: string | undefined;
                content?: string | undefined;
                buttonData: {
                    text: string;
                    url: string;
                } | null;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-comment";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reply";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                replyId: string;
                replyContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-mention";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-mention";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-upvote";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-upvote";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-specific";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-total";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-specific";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-total";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "new-follow";
            action: "open-profile";
            metadata: {
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-request";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-accepted";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "space-membership-approved";
            action: "open-space";
            metadata: {
                spaceId: string;
                spaceName: string;
                spaceShortId: string;
                spaceSlug: string | null | undefined;
                spaceAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        })[];
        unreadCount: number;
        loading: boolean;
        hasMore: boolean;
        page: number;
        limit: number;
        notificationTemplates?: {
            entityComment?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
            } | undefined;
            commentReply?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
            } | undefined;
            entityMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
            } | undefined;
            commentMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
            } | undefined;
            entityUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
            } | undefined;
            commentUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
            } | undefined;
            entityReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
            } | undefined;
            commentReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            newFollow?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
            } | undefined;
            connectionRequest?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
            } | undefined;
            connectionAccepted?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
            } | undefined;
            spaceMembershipApproved?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
            } | undefined;
        } | undefined;
        currentProjectId?: string | undefined;
    }, action: PayloadAction<{
        notifications: UnifiedAppNotification[];
        hasMore: boolean;
        isFirstPage?: boolean;
    }>) => void;
    markAsReadLocally: (state: {
        notifications: ({
            type: "system";
            action: string;
            metadata: {
                title?: string | undefined;
                content?: string | undefined;
                buttonData: {
                    text: string;
                    url: string;
                } | null;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-comment";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reply";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                replyId: string;
                replyContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-mention";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-mention";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-upvote";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-upvote";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-specific";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-total";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-specific";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-total";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "new-follow";
            action: "open-profile";
            metadata: {
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-request";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-accepted";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "space-membership-approved";
            action: "open-space";
            metadata: {
                spaceId: string;
                spaceName: string;
                spaceShortId: string;
                spaceSlug: string | null | undefined;
                spaceAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        })[];
        unreadCount: number;
        loading: boolean;
        hasMore: boolean;
        page: number;
        limit: number;
        notificationTemplates?: {
            entityComment?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
            } | undefined;
            commentReply?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
            } | undefined;
            entityMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
            } | undefined;
            commentMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
            } | undefined;
            entityUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
            } | undefined;
            commentUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
            } | undefined;
            entityReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
            } | undefined;
            commentReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            newFollow?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
            } | undefined;
            connectionRequest?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
            } | undefined;
            connectionAccepted?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
            } | undefined;
            spaceMembershipApproved?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
            } | undefined;
        } | undefined;
        currentProjectId?: string | undefined;
    }, action: PayloadAction<string>) => void;
    markAllAsReadLocally: (state: {
        notifications: ({
            type: "system";
            action: string;
            metadata: {
                title?: string | undefined;
                content?: string | undefined;
                buttonData: {
                    text: string;
                    url: string;
                } | null;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-comment";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reply";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                replyId: string;
                replyContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-mention";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-mention";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-upvote";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-upvote";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-specific";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-total";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-specific";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-total";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "new-follow";
            action: "open-profile";
            metadata: {
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-request";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-accepted";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "space-membership-approved";
            action: "open-space";
            metadata: {
                spaceId: string;
                spaceName: string;
                spaceShortId: string;
                spaceSlug: string | null | undefined;
                spaceAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        })[];
        unreadCount: number;
        loading: boolean;
        hasMore: boolean;
        page: number;
        limit: number;
        notificationTemplates?: {
            entityComment?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
            } | undefined;
            commentReply?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
            } | undefined;
            entityMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
            } | undefined;
            commentMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
            } | undefined;
            entityUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
            } | undefined;
            commentUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
            } | undefined;
            entityReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
            } | undefined;
            commentReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            newFollow?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
            } | undefined;
            connectionRequest?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
            } | undefined;
            connectionAccepted?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
            } | undefined;
            spaceMembershipApproved?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
            } | undefined;
        } | undefined;
        currentProjectId?: string | undefined;
    }) => void;
    setUnreadCount: (state: {
        notifications: ({
            type: "system";
            action: string;
            metadata: {
                title?: string | undefined;
                content?: string | undefined;
                buttonData: {
                    text: string;
                    url: string;
                } | null;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-comment";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reply";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                replyId: string;
                replyContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-mention";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-mention";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-upvote";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-upvote";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-specific";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-total";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-specific";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-total";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "new-follow";
            action: "open-profile";
            metadata: {
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-request";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-accepted";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "space-membership-approved";
            action: "open-space";
            metadata: {
                spaceId: string;
                spaceName: string;
                spaceShortId: string;
                spaceSlug: string | null | undefined;
                spaceAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        })[];
        unreadCount: number;
        loading: boolean;
        hasMore: boolean;
        page: number;
        limit: number;
        notificationTemplates?: {
            entityComment?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
            } | undefined;
            commentReply?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
            } | undefined;
            entityMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
            } | undefined;
            commentMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
            } | undefined;
            entityUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
            } | undefined;
            commentUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
            } | undefined;
            entityReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
            } | undefined;
            commentReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            newFollow?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
            } | undefined;
            connectionRequest?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
            } | undefined;
            connectionAccepted?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
            } | undefined;
            spaceMembershipApproved?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
            } | undefined;
        } | undefined;
        currentProjectId?: string | undefined;
    }, action: PayloadAction<number>) => void;
    handleError: (state: {
        notifications: ({
            type: "system";
            action: string;
            metadata: {
                title?: string | undefined;
                content?: string | undefined;
                buttonData: {
                    text: string;
                    url: string;
                } | null;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-comment";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reply";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                replyId: string;
                replyContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-mention";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-mention";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-upvote";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-upvote";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-specific";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "entity-reaction-milestone-total";
            action: "open-entity";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-specific";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                reactionType: string;
                milestoneCount: number;
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "comment-reaction-milestone-total";
            action: "open-comment";
            metadata: {
                entityId: string;
                entityShortId: string;
                entityTitle: string | null | undefined;
                entityContent: string | null | undefined;
                commentId: string;
                commentContent: string | null | undefined;
                milestoneCount: number;
                reactionCounts: {
                    [x: string]: number;
                };
                lastThreeUsers: {
                    id: string;
                    name: string | null | undefined;
                    username: string | null | undefined;
                    avatar: string | null | undefined;
                }[];
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "new-follow";
            action: "open-profile";
            metadata: {
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-request";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "connection-accepted";
            action: "open-profile";
            metadata: {
                connectionId: string;
                initiatorId: string;
                initiatorName: string | null | undefined;
                initiatorUsername: string | null | undefined;
                initiatorAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        } | {
            type: "space-membership-approved";
            action: "open-space";
            metadata: {
                spaceId: string;
                spaceName: string;
                spaceShortId: string;
                spaceSlug: string | null | undefined;
                spaceAvatar: string | null | undefined;
            };
            id: string;
            userId: string;
            isRead: boolean;
            createdAt: string;
        })[];
        unreadCount: number;
        loading: boolean;
        hasMore: boolean;
        page: number;
        limit: number;
        notificationTemplates?: {
            entityComment?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
            } | undefined;
            commentReply?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
            } | undefined;
            entityMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
            } | undefined;
            commentMention?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
            } | undefined;
            entityUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
            } | undefined;
            commentUpvote?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
            } | undefined;
            entityReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
            } | undefined;
            commentReaction?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            entityReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneSpecific?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
            } | undefined;
            commentReactionMilestoneTotal?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
            } | undefined;
            newFollow?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
            } | undefined;
            connectionRequest?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
            } | undefined;
            connectionAccepted?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
            } | undefined;
            spaceMembershipApproved?: {
                title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
                content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
            } | undefined;
        } | undefined;
        currentProjectId?: string | undefined;
    }) => void;
}, "appNotifications", "appNotifications", import("@reduxjs/toolkit").SliceSelectors<AppNotificationsState>>;
export declare const setProjectContext: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "appNotifications/setProjectContext">, setLimit: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "appNotifications/setLimit">, setNotificationTemplates: import("@reduxjs/toolkit").ActionCreatorWithPayload<Partial<NotificationTemplates>, "appNotifications/setNotificationTemplates">, resetNotifications: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"appNotifications/resetNotifications">, loadMore: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"appNotifications/loadMore">, setLoading: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "appNotifications/setLoading">, addNotifications: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
    notifications: UnifiedAppNotification[];
    hasMore: boolean;
    isFirstPage?: boolean;
}, "appNotifications/addNotifications">, markAsReadLocally: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "appNotifications/markAsReadLocally">, markAllAsReadLocally: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"appNotifications/markAllAsReadLocally">, setUnreadCount: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "appNotifications/setUnreadCount">, handleError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"appNotifications/handleError">;
declare const _default: import("@reduxjs/toolkit").Reducer<AppNotificationsState>;
export default _default;
export declare const selectAppNotifications: (state: {
    replyke: ReplykeState;
}) => UnifiedAppNotification[];
export declare const selectUnreadCount: (state: {
    replyke: ReplykeState;
}) => number;
export declare const selectAppNotificationsLoading: (state: {
    replyke: ReplykeState;
}) => boolean;
export declare const selectAppNotificationsHasMore: (state: {
    replyke: ReplykeState;
}) => boolean;
export declare const selectAppNotificationsPage: (state: {
    replyke: ReplykeState;
}) => number;
export declare const selectAppNotificationsLimit: (state: {
    replyke: ReplykeState;
}) => number;
export declare const selectNotificationTemplates: (state: {
    replyke: ReplykeState;
}) => Partial<NotificationTemplates> | undefined;
export declare const selectCurrentProjectId: (state: {
    replyke: ReplykeState;
}) => string | undefined;
