import { z } from 'zod';
/**
 * Zod schema for CDK stack configuration
 * Validates all required and optional properties for Runtime
 */
export declare const stackConfigSchema: z.ZodObject<{
    stage: z.ZodEnum<{
        dev: "dev";
        staging: "staging";
        prod: "prod";
    }>;
    serviceName: z.ZodString;
    enableSeo: z.ZodDefault<z.ZodBoolean>;
    lambdaBundlePath: z.ZodDefault<z.ZodString>;
    lambdaMemorySize: z.ZodDefault<z.ZodNumber>;
    lambdaTimeout: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
/**
 * TypeScript type inferred from Zod schema
 * Use this type for type-safe stack configuration
 */
export type StackConfig = z.infer<typeof stackConfigSchema>;
/**
 * Validates stack configuration against schema
 * Throws ZodError if validation fails
 *
 * @param config - Configuration object to validate
 * @returns Validated and typed StackConfig object
 * @throws {z.ZodError} If configuration is invalid
 *
 * @example
 * ```typescript
 * const config = validateStackConfig({
 *   stage: 'dev',
 *   serviceName: 'runtime',
 *   enableSeo: true,
 *   lambdaBundlePath: './out/dist',
 * });
 * ```
 */
export declare function validateStackConfig(config: unknown): StackConfig;
/**
 * Validates stack configuration and returns result with error details
 * Does not throw, returns success/error result
 *
 * @param config - Configuration object to validate
 * @returns SafeParseReturnType with success flag and data or error
 *
 * @example
 * ```typescript
 * const result = safeValidateStackConfig(config);
 * if (result.success) {
 *   console.log('Valid config:', result.data);
 * } else {
 *   console.error('Validation errors:', result.error.issues);
 * }
 * ```
 */
export declare function safeValidateStackConfig(config: unknown): z.ZodSafeParseResult<{
    stage: "dev" | "staging" | "prod";
    serviceName: string;
    enableSeo: boolean;
    lambdaBundlePath: string;
    lambdaMemorySize: number;
    lambdaTimeout: number;
}>;
