import { z } from 'zod'; import { AgentEntrySchema, WorkflowAgentEntriesSchema, AgentsConfigSchema } from '@generacy-ai/config'; /** * Re-export the agent selector schemas + types from `@generacy-ai/config`. * The CLI-facing shape stays structurally identical to the target-repo shape; * we do NOT redefine. */ export { AgentEntrySchema, WorkflowAgentEntriesSchema, AgentsConfigSchema }; export type { AgentEntry, WorkflowAgentEntries, AgentsConfig, } from '@generacy-ai/config'; /** * Project configuration schema * Defines project metadata and link to generacy.ai */ export declare const ProjectConfigSchema: z.ZodObject<{ /** * Unique project ID from generacy.ai * Format: proj_{alphanumeric}, minimum 12 characters total * Example: "proj_abc123" */ id: z.ZodString; /** * Human-readable project name * Maximum 255 characters */ name: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; id: string; }, { name: string; id: string; }>; export type ProjectConfig = z.infer; /** * Repository configuration schema * Defines repository relationships for the project */ export declare const ReposConfigSchema: z.ZodObject<{ /** * Primary repository (the "main" repo for the project) * This is the repository where the onboarding PR will be created */ primary: z.ZodEffects; /** * Development repositories (optional) * These repos are cloned for active development and can receive PRs * Default: empty array */ dev: z.ZodDefault, "many">>>; /** * Clone-only repositories (optional) * These repos are cloned for reference/reading only (no PRs created) * Default: empty array */ clone: z.ZodDefault, "many">>>; }, "strip", z.ZodTypeAny, { primary: string; dev: string[]; clone: string[]; }, { primary: string; dev?: string[] | undefined; clone?: string[] | undefined; }>; export type ReposConfig = z.infer; /** * Workflow defaults schema * Defines default settings for workflow execution */ export declare const DefaultsConfigSchema: z.ZodObject<{ /** * Default agent to use for workflow execution * Format: kebab-case (e.g., "claude-code", "cursor-agent") */ agent: z.ZodOptional; /** * Default base branch for creating feature branches * No validation of branch existence (checked at runtime) */ baseBranch: z.ZodOptional; /** * Default credential role for workflow runs * Free-form string, no validation at this phase */ role: z.ZodOptional; }, "strip", z.ZodTypeAny, { agent?: string | undefined; baseBranch?: string | undefined; role?: string | undefined; }, { agent?: string | undefined; baseBranch?: string | undefined; role?: string | undefined; }>; export type DefaultsConfig = z.infer; /** * Orchestrator settings schema * Defines runtime settings for the orchestrator */ export declare const OrchestratorSettingsSchema: z.ZodObject<{ /** * Polling interval in milliseconds * Minimum 5000ms (5 seconds) */ pollIntervalMs: z.ZodOptional; /** * Maximum number of concurrent workers * Range: 1-20 */ workerCount: z.ZodOptional; /** * Per-repo `{ provider, model }` selection for speckit workflow phases and * pr-feedback (bound to `implement`). See `AgentsConfigSchema`. */ agents: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; workflows: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; phases: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; clarify: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; plan: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; tasks: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; implement: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; validate: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { specify?: { provider?: string | undefined; model?: string | undefined; } | undefined; clarify?: { provider?: string | undefined; model?: string | undefined; } | undefined; plan?: { provider?: string | undefined; model?: string | undefined; } | undefined; tasks?: { provider?: string | undefined; model?: string | undefined; } | undefined; implement?: { provider?: string | undefined; model?: string | undefined; } | undefined; validate?: { provider?: string | undefined; model?: string | undefined; } | undefined; }, { specify?: { provider?: string | undefined; model?: string | undefined; } | undefined; clarify?: { provider?: string | undefined; model?: string | undefined; } | undefined; plan?: { provider?: string | undefined; model?: string | undefined; } | undefined; tasks?: { provider?: string | undefined; model?: string | undefined; } | undefined; implement?: { provider?: string | undefined; model?: string | undefined; } | undefined; validate?: { provider?: string | undefined; model?: string | undefined; } | undefined; }>>; }, "strip", z.ZodTypeAny, { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; phases?: { specify?: { provider?: string | undefined; model?: string | undefined; } | undefined; clarify?: { provider?: string | undefined; model?: string | undefined; } | undefined; plan?: { provider?: string | undefined; model?: string | undefined; } | undefined; tasks?: { provider?: string | undefined; model?: string | undefined; } | undefined; implement?: { provider?: string | undefined; model?: string | undefined; } | undefined; validate?: { provider?: string | undefined; model?: string | undefined; } | undefined; } | undefined; }, { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; phases?: { specify?: { provider?: string | undefined; model?: string | undefined; } | undefined; clarify?: { provider?: string | undefined; model?: string | undefined; } | undefined; plan?: { provider?: string | undefined; model?: string | undefined; } | undefined; tasks?: { provider?: string | undefined; model?: string | undefined; } | undefined; implement?: { provider?: string | undefined; model?: string | undefined; } | undefined; validate?: { provider?: string | undefined; model?: string | undefined; } | undefined; } | undefined; }>>>; }, "strip", z.ZodTypeAny, { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; workflows?: Record | undefined; }, { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; workflows?: Record | undefined; }>>; }, "strip", z.ZodTypeAny, { pollIntervalMs?: number | undefined; workerCount?: number | undefined; agents?: { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; workflows?: Record | undefined; } | undefined; }, { pollIntervalMs?: number | undefined; workerCount?: number | undefined; agents?: { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; workflows?: Record | undefined; } | undefined; }>; export type OrchestratorSettings = z.infer; /** * Cluster configuration schema * Defines the development cluster topology */ export declare const ClusterConfigSchema: z.ZodObject<{ /** * Cluster variant determines the Docker topology * - standard: Docker-outside-of-Docker (DooD) — for apps that don't run containers * - microservices: Docker-in-Docker (DinD) — each worker can run isolated container stacks */ variant: z.ZodDefault>; }, "strip", z.ZodTypeAny, { variant: "standard" | "microservices"; }, { variant?: "standard" | "microservices" | undefined; }>; export type ClusterConfig = z.infer; /** * Slug generation options for branch naming */ export declare const SlugOptionsSchema: z.ZodDefault; separator: z.ZodDefault; removeStopWords: z.ZodDefault; maxWords: z.ZodDefault; }, "strip", z.ZodTypeAny, { maxLength: number; separator: string; removeStopWords: boolean; maxWords: number; }, { maxLength?: number | undefined; separator?: string | undefined; removeStopWords?: boolean | undefined; maxWords?: number | undefined; }>>; /** * Branch naming configuration */ export declare const SpecKitBranchesSchema: z.ZodDefault; numberPadding: z.ZodDefault; slugOptions: z.ZodDefault; separator: z.ZodDefault; removeStopWords: z.ZodDefault; maxWords: z.ZodDefault; }, "strip", z.ZodTypeAny, { maxLength: number; separator: string; removeStopWords: boolean; maxWords: number; }, { maxLength?: number | undefined; separator?: string | undefined; removeStopWords?: boolean | undefined; maxWords?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { pattern: string; numberPadding: number; slugOptions: { maxLength: number; separator: string; removeStopWords: boolean; maxWords: number; }; }, { pattern?: string | undefined; numberPadding?: number | undefined; slugOptions?: { maxLength?: number | undefined; separator?: string | undefined; removeStopWords?: boolean | undefined; maxWords?: number | undefined; } | undefined; }>>; /** * Speckit paths configuration */ export declare const SpecKitPathsSchema: z.ZodDefault; templates: z.ZodDefault; }, "strip", z.ZodTypeAny, { specs: string; templates: string; }, { specs?: string | undefined; templates?: string | undefined; }>>; /** * Speckit file names configuration */ export declare const SpecKitFilesSchema: z.ZodDefault; plan: z.ZodDefault; tasks: z.ZodDefault; clarifications: z.ZodDefault; research: z.ZodDefault; dataModel: z.ZodDefault; }, "strip", z.ZodTypeAny, { spec: string; plan: string; tasks: string; clarifications: string; research: string; dataModel: string; }, { spec?: string | undefined; plan?: string | undefined; tasks?: string | undefined; clarifications?: string | undefined; research?: string | undefined; dataModel?: string | undefined; }>>; /** * Speckit configuration schema * Configures paths, files, and branch naming for speckit operations */ export declare const SpecKitConfigSchema: z.ZodObject<{ paths: z.ZodDefault; templates: z.ZodDefault; }, "strip", z.ZodTypeAny, { specs: string; templates: string; }, { specs?: string | undefined; templates?: string | undefined; }>>; files: z.ZodDefault; plan: z.ZodDefault; tasks: z.ZodDefault; clarifications: z.ZodDefault; research: z.ZodDefault; dataModel: z.ZodDefault; }, "strip", z.ZodTypeAny, { spec: string; plan: string; tasks: string; clarifications: string; research: string; dataModel: string; }, { spec?: string | undefined; plan?: string | undefined; tasks?: string | undefined; clarifications?: string | undefined; research?: string | undefined; dataModel?: string | undefined; }>>; branches: z.ZodDefault; numberPadding: z.ZodDefault; slugOptions: z.ZodDefault; separator: z.ZodDefault; removeStopWords: z.ZodDefault; maxWords: z.ZodDefault; }, "strip", z.ZodTypeAny, { maxLength: number; separator: string; removeStopWords: boolean; maxWords: number; }, { maxLength?: number | undefined; separator?: string | undefined; removeStopWords?: boolean | undefined; maxWords?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { pattern: string; numberPadding: number; slugOptions: { maxLength: number; separator: string; removeStopWords: boolean; maxWords: number; }; }, { pattern?: string | undefined; numberPadding?: number | undefined; slugOptions?: { maxLength?: number | undefined; separator?: string | undefined; removeStopWords?: boolean | undefined; maxWords?: number | undefined; } | undefined; }>>; }, "strip", z.ZodTypeAny, { paths: { specs: string; templates: string; }; files: { spec: string; plan: string; tasks: string; clarifications: string; research: string; dataModel: string; }; branches: { pattern: string; numberPadding: number; slugOptions: { maxLength: number; separator: string; removeStopWords: boolean; maxWords: number; }; }; }, { paths?: { specs?: string | undefined; templates?: string | undefined; } | undefined; files?: { spec?: string | undefined; plan?: string | undefined; tasks?: string | undefined; clarifications?: string | undefined; research?: string | undefined; dataModel?: string | undefined; } | undefined; branches?: { pattern?: string | undefined; numberPadding?: number | undefined; slugOptions?: { maxLength?: number | undefined; separator?: string | undefined; removeStopWords?: boolean | undefined; maxWords?: number | undefined; } | undefined; } | undefined; }>; export type SpecKitConfig = z.infer; /** * Complete Generacy configuration schema * Root configuration object for .generacy/config.yaml */ export declare const GeneracyConfigSchema: z.ZodObject<{ /** * Schema version (optional) * Defaults to "1" if omitted * Used for future migration support */ schemaVersion: z.ZodDefault; /** * Project configuration (required) */ project: z.ZodObject<{ /** * Unique project ID from generacy.ai * Format: proj_{alphanumeric}, minimum 12 characters total * Example: "proj_abc123" */ id: z.ZodString; /** * Human-readable project name * Maximum 255 characters */ name: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; id: string; }, { name: string; id: string; }>; /** * Repository configuration (required) */ repos: z.ZodObject<{ /** * Primary repository (the "main" repo for the project) * This is the repository where the onboarding PR will be created */ primary: z.ZodEffects; /** * Development repositories (optional) * These repos are cloned for active development and can receive PRs * Default: empty array */ dev: z.ZodDefault, "many">>>; /** * Clone-only repositories (optional) * These repos are cloned for reference/reading only (no PRs created) * Default: empty array */ clone: z.ZodDefault, "many">>>; }, "strip", z.ZodTypeAny, { primary: string; dev: string[]; clone: string[]; }, { primary: string; dev?: string[] | undefined; clone?: string[] | undefined; }>; /** * Workflow defaults (optional) */ defaults: z.ZodOptional; /** * Default base branch for creating feature branches * No validation of branch existence (checked at runtime) */ baseBranch: z.ZodOptional; /** * Default credential role for workflow runs * Free-form string, no validation at this phase */ role: z.ZodOptional; }, "strip", z.ZodTypeAny, { agent?: string | undefined; baseBranch?: string | undefined; role?: string | undefined; }, { agent?: string | undefined; baseBranch?: string | undefined; role?: string | undefined; }>>; /** * Orchestrator settings (optional) */ orchestrator: z.ZodOptional; /** * Maximum number of concurrent workers * Range: 1-20 */ workerCount: z.ZodOptional; /** * Per-repo `{ provider, model }` selection for speckit workflow phases and * pr-feedback (bound to `implement`). See `AgentsConfigSchema`. */ agents: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; workflows: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; phases: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; clarify: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; plan: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; tasks: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; implement: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; validate: z.ZodOptional; model: z.ZodOptional; }, "strip", z.ZodTypeAny, { provider?: string | undefined; model?: string | undefined; }, { provider?: string | undefined; model?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { specify?: { provider?: string | undefined; model?: string | undefined; } | undefined; clarify?: { provider?: string | undefined; model?: string | undefined; } | undefined; plan?: { provider?: string | undefined; model?: string | undefined; } | undefined; tasks?: { provider?: string | undefined; model?: string | undefined; } | undefined; implement?: { provider?: string | undefined; model?: string | undefined; } | undefined; validate?: { provider?: string | undefined; model?: string | undefined; } | undefined; }, { specify?: { provider?: string | undefined; model?: string | undefined; } | undefined; clarify?: { provider?: string | undefined; model?: string | undefined; } | undefined; plan?: { provider?: string | undefined; model?: string | undefined; } | undefined; tasks?: { provider?: string | undefined; model?: string | undefined; } | undefined; implement?: { provider?: string | undefined; model?: string | undefined; } | undefined; validate?: { provider?: string | undefined; model?: string | undefined; } | undefined; }>>; }, "strip", z.ZodTypeAny, { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; phases?: { specify?: { provider?: string | undefined; model?: string | undefined; } | undefined; clarify?: { provider?: string | undefined; model?: string | undefined; } | undefined; plan?: { provider?: string | undefined; model?: string | undefined; } | undefined; tasks?: { provider?: string | undefined; model?: string | undefined; } | undefined; implement?: { provider?: string | undefined; model?: string | undefined; } | undefined; validate?: { provider?: string | undefined; model?: string | undefined; } | undefined; } | undefined; }, { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; phases?: { specify?: { provider?: string | undefined; model?: string | undefined; } | undefined; clarify?: { provider?: string | undefined; model?: string | undefined; } | undefined; plan?: { provider?: string | undefined; model?: string | undefined; } | undefined; tasks?: { provider?: string | undefined; model?: string | undefined; } | undefined; implement?: { provider?: string | undefined; model?: string | undefined; } | undefined; validate?: { provider?: string | undefined; model?: string | undefined; } | undefined; } | undefined; }>>>; }, "strip", z.ZodTypeAny, { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; workflows?: Record | undefined; }, { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; workflows?: Record | undefined; }>>; }, "strip", z.ZodTypeAny, { pollIntervalMs?: number | undefined; workerCount?: number | undefined; agents?: { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; workflows?: Record | undefined; } | undefined; }, { pollIntervalMs?: number | undefined; workerCount?: number | undefined; agents?: { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; workflows?: Record | undefined; } | undefined; }>>; /** * Cluster configuration (optional) * Defines the development cluster Docker topology */ cluster: z.ZodOptional>; }, "strip", z.ZodTypeAny, { variant: "standard" | "microservices"; }, { variant?: "standard" | "microservices" | undefined; }>>; /** * Workspace configuration (optional) * Defines the org, default branch, and repos to clone/monitor */ workspace: z.ZodOptional; repos: z.ZodArray; }, "strip", z.ZodTypeAny, { name: string; monitor: boolean; }, { name: string; monitor?: boolean | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { org: string; branch: string; repos: { name: string; monitor: boolean; }[]; }, { org: string; repos: { name: string; monitor?: boolean | undefined; }[]; branch?: string | undefined; }>>; /** * Speckit configuration (optional) * Configures paths, files, and branch naming for speckit operations */ speckit: z.ZodOptional; templates: z.ZodDefault; }, "strip", z.ZodTypeAny, { specs: string; templates: string; }, { specs?: string | undefined; templates?: string | undefined; }>>; files: z.ZodDefault; plan: z.ZodDefault; tasks: z.ZodDefault; clarifications: z.ZodDefault; research: z.ZodDefault; dataModel: z.ZodDefault; }, "strip", z.ZodTypeAny, { spec: string; plan: string; tasks: string; clarifications: string; research: string; dataModel: string; }, { spec?: string | undefined; plan?: string | undefined; tasks?: string | undefined; clarifications?: string | undefined; research?: string | undefined; dataModel?: string | undefined; }>>; branches: z.ZodDefault; numberPadding: z.ZodDefault; slugOptions: z.ZodDefault; separator: z.ZodDefault; removeStopWords: z.ZodDefault; maxWords: z.ZodDefault; }, "strip", z.ZodTypeAny, { maxLength: number; separator: string; removeStopWords: boolean; maxWords: number; }, { maxLength?: number | undefined; separator?: string | undefined; removeStopWords?: boolean | undefined; maxWords?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { pattern: string; numberPadding: number; slugOptions: { maxLength: number; separator: string; removeStopWords: boolean; maxWords: number; }; }, { pattern?: string | undefined; numberPadding?: number | undefined; slugOptions?: { maxLength?: number | undefined; separator?: string | undefined; removeStopWords?: boolean | undefined; maxWords?: number | undefined; } | undefined; }>>; }, "strip", z.ZodTypeAny, { paths: { specs: string; templates: string; }; files: { spec: string; plan: string; tasks: string; clarifications: string; research: string; dataModel: string; }; branches: { pattern: string; numberPadding: number; slugOptions: { maxLength: number; separator: string; removeStopWords: boolean; maxWords: number; }; }; }, { paths?: { specs?: string | undefined; templates?: string | undefined; } | undefined; files?: { spec?: string | undefined; plan?: string | undefined; tasks?: string | undefined; clarifications?: string | undefined; research?: string | undefined; dataModel?: string | undefined; } | undefined; branches?: { pattern?: string | undefined; numberPadding?: number | undefined; slugOptions?: { maxLength?: number | undefined; separator?: string | undefined; removeStopWords?: boolean | undefined; maxWords?: number | undefined; } | undefined; } | undefined; }>>; }, "strip", z.ZodTypeAny, { repos: { primary: string; dev: string[]; clone: string[]; }; schemaVersion: string; project: { name: string; id: string; }; orchestrator?: { pollIntervalMs?: number | undefined; workerCount?: number | undefined; agents?: { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; workflows?: Record | undefined; } | undefined; } | undefined; workspace?: { org: string; branch: string; repos: { name: string; monitor: boolean; }[]; } | undefined; defaults?: { agent?: string | undefined; baseBranch?: string | undefined; role?: string | undefined; } | undefined; cluster?: { variant: "standard" | "microservices"; } | undefined; speckit?: { paths: { specs: string; templates: string; }; files: { spec: string; plan: string; tasks: string; clarifications: string; research: string; dataModel: string; }; branches: { pattern: string; numberPadding: number; slugOptions: { maxLength: number; separator: string; removeStopWords: boolean; maxWords: number; }; }; } | undefined; }, { repos: { primary: string; dev?: string[] | undefined; clone?: string[] | undefined; }; project: { name: string; id: string; }; orchestrator?: { pollIntervalMs?: number | undefined; workerCount?: number | undefined; agents?: { default?: { provider?: string | undefined; model?: string | undefined; } | undefined; workflows?: Record | undefined; } | undefined; } | undefined; workspace?: { org: string; repos: { name: string; monitor?: boolean | undefined; }[]; branch?: string | undefined; } | undefined; schemaVersion?: string | undefined; defaults?: { agent?: string | undefined; baseBranch?: string | undefined; role?: string | undefined; } | undefined; cluster?: { variant?: "standard" | "microservices" | undefined; } | undefined; speckit?: { paths?: { specs?: string | undefined; templates?: string | undefined; } | undefined; files?: { spec?: string | undefined; plan?: string | undefined; tasks?: string | undefined; clarifications?: string | undefined; research?: string | undefined; dataModel?: string | undefined; } | undefined; branches?: { pattern?: string | undefined; numberPadding?: number | undefined; slugOptions?: { maxLength?: number | undefined; separator?: string | undefined; removeStopWords?: boolean | undefined; maxWords?: number | undefined; } | undefined; } | undefined; } | undefined; }>; export type GeneracyConfig = z.infer; /** * Validate a configuration object against the schema * * @param config - Unknown configuration object to validate * @returns Validated and typed configuration * @throws ZodError if validation fails * * @example * ```typescript * const config = validateConfig({ * project: { id: 'proj_abc123', name: 'My Project' }, * repos: { primary: 'github.com/acme/main' } * }); * ``` */ export declare function validateConfig(config: unknown): GeneracyConfig; //# sourceMappingURL=schema.d.ts.map