import { AtIdentifierString, AtUriString, DatetimeString, DidString, HandleString } from '@atproto/syntax'; import { DataPlaneClient } from '../data-plane/client/index.js'; import { app } from '../lexicons/index.js'; import { VerificationMeta } from '../proto/bsky_pb.js'; import { ChatDeclarationRecord, GermDeclarationRecord, NotificationDeclarationRecord, ProfileRecord, StatusRecord } from '../views/types.js'; import { HydrationMap, RecordInfo } from './util.js'; type AllowActivitySubscriptions = Extract; export type Actor = { did: DidString; handle?: HandleString; profile?: ProfileRecord; profileCid?: string; profileTakedownRef?: string; sortedAt?: Date; indexedAt?: Date; takedownRef?: string; isLabeler: boolean; allowIncomingChatsFrom?: string; allowGroupChatInvitesFrom?: string; upstreamStatus?: string; createdAt?: Date; priorityNotifications: boolean; trustedVerifier?: boolean; verifications: VerificationHydrationState[]; status?: RecordInfo; germ?: RecordInfo; allowActivitySubscriptionsFrom: AllowActivitySubscriptions; /** * Debug information for internal development */ debug?: { pagerank?: string; accountTags?: string[]; profileTags?: string[]; }; }; export type VerificationHydrationState = { issuer: DidString; uri: AtUriString; handle: HandleString; displayName: string; createdAt: DatetimeString; }; export type VerificationMetaRequired = Required; export type Actors = HydrationMap; export type ChatDeclaration = RecordInfo; export type ChatDeclarations = HydrationMap; export type GermDeclaration = RecordInfo; export type GermDeclarations = HydrationMap; export type NotificationDeclaration = RecordInfo; export type NotificationDeclarations = HydrationMap; export type Status = RecordInfo; export type Statuses = HydrationMap; export type ProfileViewerState = { did: DidString; muted?: boolean; mutedByList?: AtUriString; blockedBy?: AtUriString; blocking?: AtUriString; blockedByList?: AtUriString; blockingByList?: AtUriString; following?: AtUriString; followedBy?: AtUriString; }; export type ProfileViewerStates = HydrationMap; type ActivitySubscriptionState = { post: boolean; reply: boolean; }; export type ActivitySubscriptionStates = HydrationMap; type KnownFollowersState = { count: number; followers: DidString[]; }; export type KnownFollowersStates = HydrationMap; export type ProfileAgg = { followers: number; follows: number; posts: number; lists: number; feeds: number; starterPacks: number; }; export type ProfileAggs = HydrationMap; export declare class ActorHydrator { dataplane: DataPlaneClient; constructor(dataplane: DataPlaneClient); getRepoRevSafe(did: string | null): Promise; /** * @note handles do not need to be normalized */ getDids(handleOrDids: AtIdentifierString[], opts?: { lookupUnidirectional?: boolean; }): Promise<(DidString | undefined)[]>; getDidsDefined(handleOrDids: AtIdentifierString[]): Promise; getActors(dids: DidString[], opts?: { includeTakedowns?: boolean; skipCacheForDids?: DidString[]; }): Promise; getChatDeclarations(uris: AtUriString[], includeTakedowns?: boolean): Promise; getGermDeclarations(uris: AtUriString[], includeTakedowns?: boolean): Promise; getNotificationDeclarations(uris: AtUriString[], includeTakedowns?: boolean): Promise; getStatus(uris: AtUriString[], includeTakedowns?: boolean): Promise; getProfileViewerStatesNaive(actors: AtIdentifierString[], viewer: DidString): Promise; getKnownFollowers(dids: DidString[], viewer: DidString | null): Promise; getActivitySubscriptions(dids: DidString[], viewer: DidString | null): Promise; getProfileAggregates(dids: DidString[]): Promise; } export {}; //# sourceMappingURL=actor.d.ts.map