import { MatrixEvent } from "../models/event.ts"; import { type Room } from "./room.ts"; import type { RetentionPolicyService } from "../retentionPolicy.ts"; import type { IStore } from "../store/index.ts"; /** * Applies https://github.com/matrix-org/matrix-spec-proposals/pull/1763 by checking the current * state of the room and applying the *latest* retention policy to all preceeding events. * Currently does not: * - Apply global server policies (requires Synapse work) * - React at all to `min_retention` configs. * - Loop */ export declare class RoomRetentionPolicy { private readonly room; private readonly retentionService; private readonly store; private maxRetention; private retentionTimeout?; private readonly logger; constructor(room: Room, retentionService: RetentionPolicyService, store: IStore); shouldEventBeRetained(ev: MatrixEvent): boolean; private readonly handleRetentionUpdate; private readonly recalculateRetention; private readonly timelineUpdated; private readonly scheduleTimelineCheck; private processTimeline; } //# sourceMappingURL=room-retention.d.ts.map