import type { Db } from "@rudderhq/db";
import type { SidebarBadges } from "@rudderhq/shared";
type SidebarBadgeBaseCounts = {
    approvals: number;
    failedRuns: number;
};
type SidebarBadgeExtraCounts = {
    joinRequests?: number;
    unreadTouchedIssues?: number;
    chatAttention?: number;
    alerts?: number;
};
declare function buildBadges(base: SidebarBadgeBaseCounts, extra?: SidebarBadgeExtraCounts): SidebarBadges;
export declare function sidebarBadgeService(db: Db): {
    countUnreadTouchedIssues: (orgId: string, userId: string) => Promise<number>;
    getMessengerUnreadCounts: (orgId: string, userId: string, options?: {
        includeJoinRequests?: boolean;
    }) => Promise<SidebarBadges>;
    countActiveChatAttention: (orgId: string, userId: string) => Promise<number>;
    getBaseCounts: (orgId: string) => Promise<SidebarBadgeBaseCounts>;
    get: (orgId: string, extra?: SidebarBadgeExtraCounts) => Promise<SidebarBadges>;
    fromCounts: typeof buildBadges;
};
export {};
//# sourceMappingURL=sidebar-badges.d.ts.map