import { AtUriString, DidString, UriString } from '@atproto/syntax'; import { DataPlaneClient } from '../data-plane/client/index.js'; import { ParsedLabelers } from '../util.js'; import { Label, LabelerRecord } from '../views/types.js'; import { HydrationMap, Merges, RecordInfo } from './util.js'; export type { Label }; export type SubjectLabels = { isImpersonation: boolean; isTakendown: boolean; needsReview: boolean; labels: HydrationMap<`${string}::${string}`, Label>; }; export declare class Labels extends HydrationMap implements Merges { static key(label: Label): `${string}::${string}`; merge(map: Labels): this; getBySubject(sub: UriString): Label[]; } export type LabelerAgg = { likes: number; }; export type LabelerAggs = HydrationMap; export type Labeler = RecordInfo; export type Labelers = HydrationMap; export type LabelerViewerState = { like?: AtUriString; }; export type LabelerViewerStates = HydrationMap; export declare class LabelHydrator { dataplane: DataPlaneClient; constructor(dataplane: DataPlaneClient); getLabelsForSubjects(subjects: UriString[], labelers: ParsedLabelers): Promise; getLabelers(dids: DidString[], includeTakedowns?: boolean): Promise; getLabelerViewerStates(dids: DidString[], viewer: DidString): Promise; getLabelerAggregates(dids: DidString[], viewer: DidString | null): Promise; } //# sourceMappingURL=label.d.ts.map