import { z } from 'zod'; export declare const AppConfigEnvEntrySchema: z.ZodObject<{ name: z.ZodString; description: z.ZodOptional; secret: z.ZodDefault; default: z.ZodOptional; required: z.ZodDefault; }, "strip", z.ZodTypeAny, { name: string; required: boolean; secret: boolean; default?: string | undefined; description?: string | undefined; }, { name: string; default?: string | undefined; required?: boolean | undefined; description?: string | undefined; secret?: boolean | undefined; }>; export declare const AppConfigFileEntrySchema: z.ZodObject<{ id: z.ZodString; description: z.ZodOptional; mountPath: z.ZodString; required: z.ZodDefault; }, "strip", z.ZodTypeAny, { id: string; required: boolean; mountPath: string; description?: string | undefined; }, { id: string; mountPath: string; required?: boolean | undefined; description?: string | undefined; }>; export declare const AppConfigSchema: z.ZodObject<{ schemaVersion: z.ZodLiteral<"1">; env: z.ZodDefault; secret: z.ZodDefault; default: z.ZodOptional; required: z.ZodDefault; }, "strip", z.ZodTypeAny, { name: string; required: boolean; secret: boolean; default?: string | undefined; description?: string | undefined; }, { name: string; default?: string | undefined; required?: boolean | undefined; description?: string | undefined; secret?: boolean | undefined; }>, "many">>; files: z.ZodDefault; mountPath: z.ZodString; required: z.ZodDefault; }, "strip", z.ZodTypeAny, { id: string; required: boolean; mountPath: string; description?: string | undefined; }, { id: string; mountPath: string; required?: boolean | undefined; description?: string | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { env: { name: string; required: boolean; secret: boolean; default?: string | undefined; description?: string | undefined; }[]; files: { id: string; required: boolean; mountPath: string; description?: string | undefined; }[]; schemaVersion: "1"; }, { schemaVersion: "1"; env?: { name: string; default?: string | undefined; required?: boolean | undefined; description?: string | undefined; secret?: boolean | undefined; }[] | undefined; files?: { id: string; mountPath: string; required?: boolean | undefined; description?: string | undefined; }[] | undefined; }>; export type AppConfig = z.infer; export declare const ClusterYamlSchema: z.ZodObject<{ channel: z.ZodDefault>; workers: z.ZodDefault; variant: z.ZodDefault>; appConfig: z.ZodOptional; env: z.ZodDefault; secret: z.ZodDefault; default: z.ZodOptional; required: z.ZodDefault; }, "strip", z.ZodTypeAny, { name: string; required: boolean; secret: boolean; default?: string | undefined; description?: string | undefined; }, { name: string; default?: string | undefined; required?: boolean | undefined; description?: string | undefined; secret?: boolean | undefined; }>, "many">>; files: z.ZodDefault; mountPath: z.ZodString; required: z.ZodDefault; }, "strip", z.ZodTypeAny, { id: string; required: boolean; mountPath: string; description?: string | undefined; }, { id: string; mountPath: string; required?: boolean | undefined; description?: string | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { env: { name: string; required: boolean; secret: boolean; default?: string | undefined; description?: string | undefined; }[]; files: { id: string; required: boolean; mountPath: string; description?: string | undefined; }[]; schemaVersion: "1"; }, { schemaVersion: "1"; env?: { name: string; default?: string | undefined; required?: boolean | undefined; description?: string | undefined; secret?: boolean | undefined; }[] | undefined; files?: { id: string; mountPath: string; required?: boolean | undefined; description?: string | undefined; }[] | undefined; }>>; }, "strip", z.ZodTypeAny, { variant: "cluster-base" | "cluster-microservices"; channel: "stable" | "preview"; workers: number; appConfig?: { env: { name: string; required: boolean; secret: boolean; default?: string | undefined; description?: string | undefined; }[]; files: { id: string; required: boolean; mountPath: string; description?: string | undefined; }[]; schemaVersion: "1"; } | undefined; }, { variant?: "cluster-base" | "cluster-microservices" | undefined; channel?: "stable" | "preview" | undefined; workers?: number | undefined; appConfig?: { schemaVersion: "1"; env?: { name: string; default?: string | undefined; required?: boolean | undefined; description?: string | undefined; secret?: boolean | undefined; }[] | undefined; files?: { id: string; mountPath: string; required?: boolean | undefined; description?: string | undefined; }[] | undefined; } | undefined; }>; export type ClusterYaml = z.infer; export declare const ClusterJsonSchema: z.ZodObject<{ cluster_id: z.ZodString; project_id: z.ZodString; org_id: z.ZodString; cloud_url: z.ZodString; display_name: z.ZodOptional; activated_at: z.ZodOptional; }, "strip", z.ZodTypeAny, { cluster_id: string; project_id: string; org_id: string; cloud_url: string; activated_at?: string | undefined; display_name?: string | undefined; }, { cluster_id: string; project_id: string; org_id: string; cloud_url: string; activated_at?: string | undefined; display_name?: string | undefined; }>; export type ClusterJson = z.infer; export interface ClusterContext { projectRoot: string; generacyDir: string; composePath: string; clusterConfig: ClusterYaml; clusterIdentity: ClusterJson | null; projectName: string; /** * User-facing display name (from `cluster.json` `display_name`). Falls back * to `cluster_id` when not present. */ displayName: string | null; } /** * Walk upward from `cwd` (default: process.cwd()) looking for a directory that * contains `.generacy/cluster.yaml`. Returns the absolute path to that * `.generacy/` directory, or throws if no cluster is found. * * Does NOT parse `cluster.yaml` — safe to call before `reconcileWorkerCount` * for callers that need `generacyDir` without the strict ClusterYamlSchema * gate (which would crash on edge values like `workers: 0` or `workers: "five"`). */ export declare function findGeneracyDir(cwd?: string): string; export declare function getClusterContext(cwd?: string): ClusterContext; //# sourceMappingURL=context.d.ts.map