import { CID } from 'multiformats'; import { compareApplogsByEnAt } from '../applog/applog-utils.ts'; import { Applog, ApplogForInsert, CidString } from '../applog/datom-types.ts'; import { Thread } from './basic.ts'; import { MappedThread } from './mapped.ts'; export declare function entityCount(thread: Thread): number; export declare function allEntityIDs(thread: Thread): Set; export declare function debounceWrites(thread: Thread, wait?: number, removeDuplicatesWith?: (objA: object, objB: object) => boolean): MappedThread; /** * @param deduplicateHoldItemsWith called with (heldLog, realLog), if it returns true, the held log is skipped * @param onFirstWrite called with held logs about to be inserted, if it returns an array, those logs will be inserted instead */ export declare function holdTillFirstWrite(thread: Thread, applogsToHold: ApplogForInsert[], opts: { deduplicateHoldItemsWith?: typeof compareApplogsByEnAt; onFirstWrite: (heldLogsToInsert: Applog[]) => Applog[] | undefined; }): MappedThread; export declare function getAgents(thread: Thread): import("../applog.ts").AgentHash[]; /** * Returns applogs NOT contained in the exclusion set. * Uses CID-based comparison (consistent with removeDuplicateAppLogs). */ export declare const excludeApplogsContainedIn: (applogs: readonly Applog[], exclude: Thread | readonly Applog[] | Set) => Applog[]; //# sourceMappingURL=utils.d.ts.map