import { Emitter } from "@welshman/lib"; import { HashedEvent, SignedEvent } from "@welshman/util"; import { Tracker } from "./tracker.js"; import { Repository } from "./repository.js"; export type WrapItem = Omit & { rumorId: string; recipient: string; }; export type WrapReference = string[]; export type WrapManagerOptions = { repository: Repository; tracker: Tracker; }; export declare class WrapManager extends Emitter { readonly options: WrapManagerOptions; _wrapIndex: Map; _rumorIndex: Map; _recipientIndex: Map; constructor(options: WrapManagerOptions); dump: () => WrapItem[]; getWraps: (rumorId: string) => WrapItem[]; getRumor: (wrapId: string) => import("@welshman/util").TrustedEvent | undefined; load: (wrapItems: WrapItem[]) => void; add: ({ recipient, rumor, wrap }: { recipient: string; rumor: HashedEvent; wrap: SignedEvent; }) => void; remove: (id: string) => void; removeByRumorId: (rumorId: string) => void; _add: (wrapItem: WrapItem) => void; _addReference: (index: Map, key: string, wrapId: string) => void; _remove: (wrapItem: WrapItem) => void; _removeReference: (index: Map, key: string, wrapId: string) => void; } //# sourceMappingURL=wrapManager.d.ts.map