import type { Un$Typed } from '@atproto/lex-schema'; import type { AtUriString, DidString } from '@atproto/syntax'; import type { AppContext } from '../../../../context.js'; import type { HydrationState } from '../../../../hydration/hydrator.js'; import type { app } from '../../../../lexicons/index.js'; import { type NotificationPreferences } from '../../../../proto/bsky_pb.js'; import { AppPlatform } from '../../../../proto/courier_pb.js'; import type { Views } from '../../../../views/index.js'; export declare const shouldFilterReplyByThreadgate: (reason: string, uri: AtUriString, viewer: string, hydration: HydrationState, views: Views) => boolean; export declare const shouldFilterHiddenThreadTag: (reason: string, uri: AtUriString, did: DidString, hydration: HydrationState, hiddenTags: ReadonlySet) => boolean; export declare const shouldFilterForNeedsReview: (reason: string, did: DidString, uri: AtUriString, hydration: HydrationState, views: Views) => boolean; /** Applies the configured delay to the notification cursor timestamp. */ export declare const delayCursor: (cursorStr: string | undefined, delayMs: number) => string; type DeepPartial = T extends object ? { [P in keyof T]?: DeepPartial; } : T; type LexNotificationPreferences = Un$Typed; export declare const mergeNotificationPreferences: (current: LexNotificationPreferences, updates: Partial) => LexNotificationPreferences; export declare const getNotificationPreferences: (ctx: AppContext, actorDid: string) => Promise; export declare const DEFAULT_CHAT_PREFERENCE: app.bsky.notification.defs.ChatPreference; export declare const protobufToLex: (res: DeepPartial) => app.bsky.notification.defs.Preferences; type LexPlatform = 'ios' | 'android' | 'web'; export declare function assertLexPlatform(platform: string): asserts platform is LexPlatform; export declare const lexPlatformToProtoPlatform: (platform: string) => AppPlatform; export {}; //# sourceMappingURL=util.d.ts.map