import { AsyncLocalStorage } from 'node:async_hooks'; import type { CmsEditConfig } from '../config/types.js'; import type { IndexCacheStore } from '../index/cache-store.js'; import type { SessionStore } from '../session/session-store.js'; import type { StagedUploadStore } from '../staged-upload/store.js'; export interface ContentfulUserIdentity { userId: string; email: string; } export interface CmsEditRuntimeContext { /** Pre-built config (hosted mode). Skips filesystem config lookup. */ config?: CmsEditConfig; /** Session persistence backend (filesystem default when omitted). */ sessionStore?: SessionStore; /** Shared content index cache (Redis on hosted; file fallback locally). */ indexCacheStore?: IndexCacheStore; /** Contentful user for session key isolation in hosted mode. */ user?: ContentfulUserIdentity; /** Staged file uploads for hosted asset upload (Redis). */ stagedUploadStore?: StagedUploadStore; } export declare const cmsEditContext: AsyncLocalStorage; export declare function getRuntimeContext(): CmsEditRuntimeContext | undefined; export declare function runWithCmsEditContext(context: CmsEditRuntimeContext, fn: () => T | Promise): T | Promise; //# sourceMappingURL=context.d.ts.map