import type { FeatureManifest } from "./manifest"; export type FeatureWhen = { /** `jobs` feature enabled in registry or `initializeJobs()` wired in application. */ jobsEnabled?: boolean; /** `JOBS_USE_REDIS=true` in project env. */ jobsUseRedis?: boolean; /** Jobs enabled and not using Redis (database queue). */ jobsUseDatabase?: boolean; }; export type JobsInstallContext = { jobsEnabled: boolean; jobsUseRedis: boolean; jobsQueueMode: "none" | "redis" | "database"; }; export type ConditionalFileSet = { from: string; when: FeatureWhen; overwrite?: string[]; }; /** Detect whether background jobs are active and which queue backend env selects. */ export declare function getJobsInstallContext(projectRoot: string): JobsInstallContext; export declare function matchesWhen(when: FeatureWhen | undefined, ctx: JobsInstallContext): boolean; export type ResolvedFeatureManifest = FeatureManifest & { installContext: JobsInstallContext; }; export declare function resolveFeatureManifest(manifest: FeatureManifest, projectRoot: string): ResolvedFeatureManifest;