/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import { type MonitoringContext } from "@fluidframework/telemetry-utils/internal"; import type { IContainerRuntimeMetadata } from "../summary/index.js"; import { type IGCRuntimeOptions, type IGarbageCollectorConfigs } from "./gcDefinitions.js"; /** * Generates configurations for the Garbage Collector that it uses to determine what to run and how. * @param mc - The monitoring context for reading configs from the config provider. * @param createParams - The creation params: * gcOptions - The garbage collector runtime options. * metadata - The container runtime's createParams.metadata. * existing - Whether the container is new or an existing one. * @returns The garbage collector configurations. */ export declare function generateGCConfigs(mc: MonitoringContext, createParams: { gcOptions: IGCRuntimeOptions; metadata: IContainerRuntimeMetadata | undefined; existing: boolean; isSummarizerClient: boolean; }): IGarbageCollectorConfigs; /** * Tombstone timeout is the time after which unreferenced content is guaranteed not to be revived (re-referenced). * Tombstone timeout = session expiry timeout + snapshot cache expiry timeout + one day buffer. * * The snapshot cache expiry timeout cannot be known precisely but the upper bound is 5 days. * The buffer is added to account for any clock skew or other edge cases. * We use server timestamps throughout so the skew should be minimal but make it 1 day to be safe. * * If there is no Session Expiry timeout, GC can never guarantee an object won't be revived, so return undefined. */ export declare function computeTombstoneTimeout(sessionExpiryTimeoutMs: number | undefined): number | undefined; //# sourceMappingURL=gcConfigs.d.ts.map