import { z } from 'zod'; /** * Validate input data against a Zod schema * @param schema Zod schema to validate against * @param data Data to validate * @param entityName Name of the entity being validated (for error messages) * @returns Validated and typed data * @throws ValidationError if validation fails */ export declare function validateWithZod(schema: T, data: unknown, entityName?: string): z.infer; /** * Common schema for time-based parameters that accept ISO dates or relative time expressions */ export declare const TimeStringSchema: z.ZodEffects; /** * Schema for pagination parameters */ export declare const PaginationSchema: z.ZodObject<{ limit: z.ZodOptional; nextToken: z.ZodOptional; }, "strip", z.ZodTypeAny, { limit?: number | undefined; nextToken?: string | undefined; }, { limit?: number | undefined; nextToken?: string | undefined; }>; /** * Validates a value is within an allowed enum set * @param values Array of allowed values * @returns Zod schema that validates against allowed values */ export declare function createEnumSchema(values: readonly T[]): z.ZodEnum<[T, ...T[]]>; /** * Transform a relative time string to a Date object * @param timeString Relative time string (e.g., -30m, -1h, -7d) * @returns Date object */ export declare function parseRelativeTime(timeString: string): Date;