import { z } from 'zod'; /** * Zod schema for rule configuration validation */ export declare const RuleConfigSchema: z.ZodObject<{ id: z.ZodString; enabled: z.ZodBoolean; variables: z.ZodOptional>; overrides: z.ZodOptional; content: z.ZodOptional; append: z.ZodOptional; }, "strip", z.ZodTypeAny, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { id: string; enabled: boolean; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; }, { id: string; enabled: boolean; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; }>; /** * Zod schema for conditional rule configuration validation */ export declare const ConditionalRuleConfigSchema: z.ZodObject<{ id: z.ZodString; enabled: z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"auto">]>; variables: z.ZodOptional>; overrides: z.ZodOptional; content: z.ZodOptional; append: z.ZodOptional; }, "strip", z.ZodTypeAny, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }>>; autoDetected: z.ZodOptional; detectionReason: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; enabled: boolean | "auto"; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; autoDetected?: boolean | undefined; detectionReason?: string | undefined; }, { id: string; enabled: boolean | "auto"; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; autoDetected?: boolean | undefined; detectionReason?: string | undefined; }>; /** * Zod schema for project rules configuration validation */ export declare const ProjectRulesConfigSchema: z.ZodObject<{ projectName: z.ZodString; projectType: z.ZodEnum<["nextjs", "flutter", "backend", "shopify", "monorepo", "other"]>; rules: z.ZodArray>; overrides: z.ZodOptional; content: z.ZodOptional; append: z.ZodOptional; }, "strip", z.ZodTypeAny, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { id: string; enabled: boolean; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; }, { id: string; enabled: boolean; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; }>, "many">; globalVariables: z.ZodOptional>; }, "strip", z.ZodTypeAny, { projectType: "nextjs" | "flutter" | "monorepo" | "backend" | "shopify" | "other"; rules: { id: string; enabled: boolean; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; }[]; projectName: string; globalVariables?: Record | undefined; }, { projectType: "nextjs" | "flutter" | "monorepo" | "backend" | "shopify" | "other"; rules: { id: string; enabled: boolean; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; }[]; projectName: string; globalVariables?: Record | undefined; }>; /** * Zod schema for conditional project rules configuration validation */ export declare const ConditionalProjectRulesConfigSchema: z.ZodObject<{ projectName: z.ZodString; projectType: z.ZodEnum<["nextjs", "flutter", "backend", "shopify", "monorepo", "other"]>; rules: z.ZodArray]>; variables: z.ZodOptional>; overrides: z.ZodOptional; content: z.ZodOptional; append: z.ZodOptional; }, "strip", z.ZodTypeAny, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }>>; autoDetected: z.ZodOptional; detectionReason: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; enabled: boolean | "auto"; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; autoDetected?: boolean | undefined; detectionReason?: string | undefined; }, { id: string; enabled: boolean | "auto"; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; autoDetected?: boolean | undefined; detectionReason?: string | undefined; }>, "many">; globalVariables: z.ZodOptional>; autoDetectRules: z.ZodDefault>; autoDetectVariables: z.ZodDefault>; detectionSettings: z.ZodOptional; checkEnvFiles: z.ZodOptional; scanDepth: z.ZodOptional; }, "strip", z.ZodTypeAny, { includeDevDependencies?: boolean | undefined; checkEnvFiles?: boolean | undefined; scanDepth?: number | undefined; }, { includeDevDependencies?: boolean | undefined; checkEnvFiles?: boolean | undefined; scanDepth?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { projectType: "nextjs" | "flutter" | "monorepo" | "backend" | "shopify" | "other"; autoDetectRules: boolean; rules: { id: string; enabled: boolean | "auto"; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; autoDetected?: boolean | undefined; detectionReason?: string | undefined; }[]; projectName: string; autoDetectVariables: boolean; globalVariables?: Record | undefined; detectionSettings?: { includeDevDependencies?: boolean | undefined; checkEnvFiles?: boolean | undefined; scanDepth?: number | undefined; } | undefined; }, { projectType: "nextjs" | "flutter" | "monorepo" | "backend" | "shopify" | "other"; rules: { id: string; enabled: boolean | "auto"; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; autoDetected?: boolean | undefined; detectionReason?: string | undefined; }[]; projectName: string; autoDetectRules?: boolean | undefined; globalVariables?: Record | undefined; autoDetectVariables?: boolean | undefined; detectionSettings?: { includeDevDependencies?: boolean | undefined; checkEnvFiles?: boolean | undefined; scanDepth?: number | undefined; } | undefined; }>; /** * Type definitions inferred from schemas */ export type ValidatedRuleConfig = z.infer; export type ValidatedProjectRulesConfig = z.infer; export type ValidatedConditionalRuleConfig = z.infer; export type ValidatedConditionalProjectRulesConfig = z.infer; export declare const RuleIdSchema: z.ZodEnum<[string, ...string[]]>; /** * Enhanced rule config schema with rule ID validation */ export declare const ValidatedRuleConfigSchema: z.ZodObject<{ enabled: z.ZodBoolean; variables: z.ZodOptional>; overrides: z.ZodOptional; content: z.ZodOptional; append: z.ZodOptional; }, "strip", z.ZodTypeAny, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }>>; } & { id: z.ZodEnum<[string, ...string[]]>; }, "strip", z.ZodTypeAny, { id: string; enabled: boolean; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; }, { id: string; enabled: boolean; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; }>; /** * Enhanced project config schema with detailed rule validation */ export declare const EnhancedProjectRulesConfigSchema: z.ZodObject<{ projectName: z.ZodString; projectType: z.ZodEnum<["nextjs", "flutter", "backend", "shopify", "monorepo", "other"]>; globalVariables: z.ZodOptional>; } & { rules: z.ZodArray>; overrides: z.ZodOptional; content: z.ZodOptional; append: z.ZodOptional; }, "strip", z.ZodTypeAny, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }>>; } & { id: z.ZodEnum<[string, ...string[]]>; }, "strip", z.ZodTypeAny, { id: string; enabled: boolean; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; }, { id: string; enabled: boolean; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { projectType: "nextjs" | "flutter" | "monorepo" | "backend" | "shopify" | "other"; rules: { id: string; enabled: boolean; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; }[]; projectName: string; globalVariables?: Record | undefined; }, { projectType: "nextjs" | "flutter" | "monorepo" | "backend" | "shopify" | "other"; rules: { id: string; enabled: boolean; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; }[]; projectName: string; globalVariables?: Record | undefined; }>; /** * Enhanced conditional project config schema with detailed rule validation */ export declare const EnhancedConditionalProjectRulesConfigSchema: z.ZodObject<{ projectName: z.ZodString; projectType: z.ZodEnum<["nextjs", "flutter", "backend", "shopify", "monorepo", "other"]>; globalVariables: z.ZodOptional>; autoDetectRules: z.ZodDefault>; autoDetectVariables: z.ZodDefault>; detectionSettings: z.ZodOptional; checkEnvFiles: z.ZodOptional; scanDepth: z.ZodOptional; }, "strip", z.ZodTypeAny, { includeDevDependencies?: boolean | undefined; checkEnvFiles?: boolean | undefined; scanDepth?: number | undefined; }, { includeDevDependencies?: boolean | undefined; checkEnvFiles?: boolean | undefined; scanDepth?: number | undefined; }>>; } & { rules: z.ZodArray]>; variables: z.ZodOptional>; overrides: z.ZodOptional; content: z.ZodOptional; append: z.ZodOptional; }, "strip", z.ZodTypeAny, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }, { content?: string | undefined; append?: string | undefined; title?: string | undefined; }>>; autoDetected: z.ZodOptional; detectionReason: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; enabled: boolean | "auto"; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; autoDetected?: boolean | undefined; detectionReason?: string | undefined; }, { id: string; enabled: boolean | "auto"; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; autoDetected?: boolean | undefined; detectionReason?: string | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { projectType: "nextjs" | "flutter" | "monorepo" | "backend" | "shopify" | "other"; autoDetectRules: boolean; rules: { id: string; enabled: boolean | "auto"; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; autoDetected?: boolean | undefined; detectionReason?: string | undefined; }[]; projectName: string; autoDetectVariables: boolean; globalVariables?: Record | undefined; detectionSettings?: { includeDevDependencies?: boolean | undefined; checkEnvFiles?: boolean | undefined; scanDepth?: number | undefined; } | undefined; }, { projectType: "nextjs" | "flutter" | "monorepo" | "backend" | "shopify" | "other"; rules: { id: string; enabled: boolean | "auto"; variables?: Record | undefined; overrides?: { content?: string | undefined; append?: string | undefined; title?: string | undefined; } | undefined; autoDetected?: boolean | undefined; detectionReason?: string | undefined; }[]; projectName: string; autoDetectRules?: boolean | undefined; globalVariables?: Record | undefined; autoDetectVariables?: boolean | undefined; detectionSettings?: { includeDevDependencies?: boolean | undefined; checkEnvFiles?: boolean | undefined; scanDepth?: number | undefined; } | undefined; }>; /** * Validation result type (supports both legacy and conditional) */ export interface ValidationResult { success: boolean; data?: ValidatedProjectRulesConfig | ValidatedConditionalProjectRulesConfig; errors: string[]; warnings: string[]; } /** * Validate project configuration using Zod schemas (supports both legacy and conditional) */ export declare function validateProjectConfig(config: unknown, useConditional?: boolean): ValidationResult; /** * Quick validation function that throws on error */ export declare function assertValidProjectConfig(config: unknown, useConditional?: boolean): any; /** * Validate conditional project configuration specifically */ export declare function validateConditionalProjectConfig(config: unknown): ValidationResult; /** * Quick validation for conditional configs */ export declare function assertValidConditionalProjectConfig(config: unknown): ValidatedConditionalProjectRulesConfig; //# sourceMappingURL=config-validation.d.ts.map