28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
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
|