import { type AtUriString, type DidString } from '@atproto/lex-schema'; import { type HydrateCtxWithViewer, type Hydrator } from '../../../../hydration/hydrator.js'; import { app, type com } from '../../../../lexicons/index.js'; import type { Views } from '../../../../views/index.js'; import type { TimelineActivity } from './atmosphere-grouping.js'; /** Request-scoped hydration and visibility for incrementally fetched roots. */ export declare class AtmosphereTimelineHydrator { private readonly ctx; private readonly hydrateCtx; private readonly now; private state; private readonly seen; private readonly seenPosts; constructor(ctx: { hydrator: Hydrator; views: Views; }, hydrateCtx: HydrateCtxWithViewer, now: number); /** Hydrate new roots and their dependencies without repeating prior lookups. */ hydrate(uris: AtUriString[]): Promise; /** Return only an already-loaded, visible author profile for overflow. */ profile(did: DidString): app.bsky.actor.defs.ProfileViewBasic | undefined; /** Recheck current dependencies and moderation without building a view. */ isVisible(uri: AtUriString): boolean; /** Compose a renderable root and the target used by final-page grouping. */ activity(uri: AtUriString, sortedAt: number): TimelineActivity | undefined; private selectActivity; private visibleAuthor; private hasUnmutedAuthor; private visibleRecord; private visibleExternal; } /** Read the author-declared post reference for a renderable Atmosphere record. */ export declare function getAtmospherePostRef(record: unknown): com.atproto.repo.strongRef.Main | undefined; //# sourceMappingURL=atmosphere-hydration.d.ts.map