/** * Validates and type-checks regex patterns for Vercel's path-to-regexp syntax. * * @example * // Valid patterns: * "/api/(.*)" // Basic capture group * "/blog/:slug" // Named parameter * "/feedback/((?!general).*)" // Negative lookahead in a group * * // Invalid patterns: * "/feedback/(?!general)" // Negative lookahead without group * "[unclosed" // Invalid regex syntax * "/*" // Invalid wildcard pattern */ export declare function validateRegexPattern(pattern: string): string; /** * Type for cron expression parts */ export type CronPart = { minute: string; hour: string; dayOfMonth: string; month: string; dayOfWeek: string; }; /** * Parses a cron expression into its parts */ export declare function parseCronExpression(expression: string): CronPart; /** * Creates a type-safe cron expression builder */ export declare function createCronExpression(parts: CronPart): string; /** * Counts the number of capture groups in a regex pattern. * This includes both numbered groups (.*) and named parameters (:name). */ export declare function countCaptureGroups(pattern: string): number; /** * Validates that a destination string doesn't reference capture groups * that don't exist in the source pattern. */ export declare function validateCaptureGroupReferences(source: string, destination: string): void; /** * Validates that a value is a static string literal (not computed, not a function call, etc.) * Used for static fields that must be extracted before build execution. */ export declare function validateStaticString(value: any, fieldName: string): void; /** * Validates that a value is a static boolean literal */ export declare function validateStaticBoolean(value: any, fieldName: string): void; /** * Validates that a value is a static object with primitive values * Used for git.deploymentEnabled and similar objects that need to be static */ export declare function validateStaticObject(value: any, fieldName: string): void; /** * Validates that a value is a static array of strings */ export declare function validateStaticStringArray(value: any, fieldName: string): void; /** * Validates static fields in VercelConfig that must be extracted before build execution. * These fields include: * - buildCommand, devCommand, installCommand, framework, nodeVersion, outputDirectory * - github.enabled, github.autoAlias, github.autoJobCancelation * - git.deploymentEnabled * - relatedProjects */ export declare function validateStaticFields(config: Record): void;