/*!
 * 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";
/**
 * 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.
     */
    pkgVersion: string;
    /**
     * The current generation of the Runtime layer.
     */
    generation: number;
};
/**
 * 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 loaderSupportRequirements: 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 dataStoreSupportRequirements: ILayerCompatSupportRequirements;
/**
 * Validates that the Loader layer is compatible with this Runtime.
 * @internal
 */
export declare function validateLoaderCompatibility(maybeloaderCompatDetailsForRuntime: ILayerCompatDetails | undefined, disposeFn: (error?: ICriticalContainerError) => void): void;
/**
 * Validates that the DataStore layer is compatible with this Runtime.
 * @internal
 */
export declare function validateDatastoreCompatibility(maybeDataStoreCompatDetails: ILayerCompatDetails | undefined, disposeFn: () => void): void;
//# sourceMappingURL=runtimeLayerCompatState.d.ts.map