import { EncryptedContentSigner, EncryptionMethod, getEncryptedContentEncryptionMethods, UnlockedEncryptedContent } from "./encrypted-content.js"; /** Symbol for caching hidden content. Alias for {@link EncryptedContentSymbol} */ export declare const HiddenContentSymbol: symbol; /** Alias for {@link EncryptedContentSigner} */ export interface HiddenContentSigner extends EncryptedContentSigner { } /** Alias for {@link getEncryptedContentEncryptionMethods} */ export declare const getHiddenContentEncryptionMethods: typeof getEncryptedContentEncryptionMethods; /** Type for events with unlocked hidden content. alias for {@link UnlockedEncryptedContent} */ export type UnlockedHiddenContent = UnlockedEncryptedContent; /** Various event kinds that can have hidden content */ export declare const HiddenContentKinds: Set; /** Sets the encryption method for hidden content on a kind */ export declare function setHiddenContentEncryptionMethod(kind: number, method: EncryptionMethod): number; /** Checks if an event can have hidden content */ export declare function canHaveHiddenContent(kind: number): boolean; /** Checks if an event has hidden content */ export declare function hasHiddenContent(event: T): boolean; /** Checks if the hidden content is unlocked and casts it to the {@link UnlockedEncryptedContent} type */ export declare function isHiddenContentUnlocked(event: T): event is T & UnlockedEncryptedContent; /** Returns the hidden content for an event if they are unlocked */ export declare function getHiddenContent(event: T): string; export declare function getHiddenContent(event: T): string | undefined; /** * Unlocks the hidden content in the event * @param event The event with content to decrypt * @param signer A signer to use to decrypt the content * @throws */ export declare function unlockHiddenContent(event: T, signer: EncryptedContentSigner, override?: EncryptionMethod): Promise; /** * Sets the hidden content on an event and updates it if its part of an event store * @throws If the event kind does not support hidden content */ export declare function setHiddenContentCache(event: T, plaintext: string): void; /** Removes the unencrypted hidden content on an event */ export declare function lockHiddenContent(event: T): void;