declare const WORKER_KINDS: readonly ["api", "data", "ssr"]; export type WorkerKind = (typeof WORKER_KINDS)[number]; export interface WorkerGenerationIdentity { readonly scopeId: string; readonly generationId: string; } export interface ResolvedWorkerGeneration { readonly workerId: string; readonly reusable: boolean; } /** * Snapshot the host-owned identity that proves one worker generation may * safely retain an imported module graph. * * Omitting both fields deliberately selects a single-use worker. Supplying * only one cannot establish an invalidation boundary and therefore fails * closed. */ export declare function snapshotWorkerGenerationIdentity(scopeId: unknown, generationId: unknown): Readonly | undefined; /** * Hash arbitrarily sized semantic material with the exact UTF-16 encoding used * by worker identities. This keeps env and policy values out of pool keys * without introducing TextEncoder replacement-character collisions. */ export declare function digestWorkerGenerationMaterial(value: string): Promise; /** * Return whether an exact reusable worker identity belongs to `scopeId`. * * This is intentionally a complete-key match rather than a raw prefix check. * It is used by WorkerPool retirement, where confusing nested scopes would * otherwise terminate unrelated tenant work. */ export declare function isWorkerGenerationInScope(workerId: unknown, scopeId: unknown): boolean; /** * Resolve the exact WorkerPool key for one immutable source generation. * * The versioned, length-framed identity includes the execution kind and an * exact opaque encoding of the scope. The generation digest keeps release and * branch identities out of telemetry. Without a proven generation, a unique * single-use key prevents stale dependency graphs from crossing requests. */ export declare function resolveWorkerGeneration(kind: WorkerKind, identity?: Readonly): Promise>; export {}; //# sourceMappingURL=worker-generation.d.ts.map