import type { ImportMapConfig } from "../../modules/import-map/types.js"; import type { TransformPlugin } from "./types.js"; /** * Take a descriptor-only immutable snapshot before an import map is shared by * cache identity computation and transform stages. This prevents later caller * mutation (or getters with side effects) from making those two views diverge. */ export declare function snapshotImportMap(value: unknown): ImportMapConfig; export declare function fingerprintPipelineImportMap(importMap: ImportMapConfig): Promise; export type CustomPluginCacheIdentity = { cacheable: true; identity: ReadonlyArray; plugins: ReadonlyArray; } | { cacheable: false; reason: string; plugins: ReadonlyArray; }; /** Require explicit versioned identities for caller-supplied executable code. */ export declare function getCustomPluginCacheIdentity(plugins: readonly TransformPlugin[] | undefined): CustomPluginCacheIdentity; export interface PipelineConfigIdentityInput { reactVersion: string; jsxImportSource: string; studioEmbed: boolean; dev: boolean; ssr: boolean; projectDir: string; moduleServerUrl?: string; moduleServerOrigin?: string; vendorBundleHash?: string; apiBaseUrl?: string; importMapFingerprint?: string; dependencyPinningCacheKey?: string; serverExternalPackages?: readonly string[]; customPlugins: ReadonlyArray; } /** Hash every known output-affecting pipeline input using full SHA-256. */ export declare function computePipelineConfigIdentity(input: PipelineConfigIdentityInput): Promise; //# sourceMappingURL=cache-identity.d.ts.map