/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { type ILayerCompatDetails, type ILayerCompatSupportRequirements } from "@fluid-internal/client-utils";
import type { ICriticalContainerError } from "@fluidframework/container-definitions";
import { type MonitoringContext } from "@fluidframework/telemetry-utils/internal";
/**
 * The config key to disable strict loader layer compatibility check.
 */
export declare const disableStrictLoaderLayerCompatibilityCheckKey = "Fluid.ContainerRuntime.DisableStrictLoaderLayerCompatibilityCheck";
/**
 * The core compatibility details of the Runtime layer that is the same across all layer boundaries.
 * @internal
 */
export declare const runtimeCoreCompatDetails: {
    /**
     * The package version of the Runtime layer.
     */
    readonly pkgVersion: "2.81.1";
    /**
     * The current generation of the Runtime layer.
     */
    readonly generation: 4;
};
/**
 * Runtime's compatibility details that is exposed to the Loader layer.
 * @internal
 */
export declare const runtimeCompatDetailsForLoader: ILayerCompatDetails;
/**
 * The requirements that the Loader layer must meet to be compatible with this Runtime.
 * @internal
 */
export declare const loaderSupportRequirementsForRuntime: ILayerCompatSupportRequirements;
/**
 * Runtime's compatibility details that is exposed to the DataStore layer.
 * @internal
 */
export declare const runtimeCompatDetailsForDataStore: ILayerCompatDetails;
/**
 * The requirements that the DataStore layer must meet to be compatible with this Runtime.
 * @internal
 */
export declare const dataStoreSupportRequirementsForRuntime: ILayerCompatSupportRequirements;
/**
 * Validates that the Loader layer is compatible with this Runtime.
 * @internal
 */
export declare function validateLoaderCompatibility(maybeLoaderCompatDetailsForRuntime: ILayerCompatDetails | undefined, disposeFn: (error?: ICriticalContainerError) => void, mc: MonitoringContext): void;
/**
 * Validates that the DataStore layer is compatible with this Runtime.
 * @internal
 */
export declare function validateDatastoreCompatibility(maybeDataStoreCompatDetailsForRuntime: ILayerCompatDetails | undefined, disposeFn: () => void, mc: MonitoringContext): void;
//# sourceMappingURL=runtimeLayerCompatState.d.ts.map