import { z } from "zod";
const perspectiveSettingsSchema = z.object({
  columnOrder: z.array(z.string().min(1)).max(120).optional(),
  columnVisibility: z.record(z.string(), z.boolean()).optional(),
  filters: z.record(z.string(), z.unknown()).optional(),
  sorting: z.array(z.object({ id: z.string().min(1), desc: z.boolean().optional() })).max(20).optional(),
  pageSize: z.number().int().positive().max(500).optional(),
  searchValue: z.string().max(200).optional()
});
const perspectiveSaveSchema = z.object({
  perspectiveId: z.string().uuid().optional(),
  name: z.string().min(1).max(120),
  settings: perspectiveSettingsSchema,
  isDefault: z.boolean().optional(),
  applyToRoles: z.array(z.string().uuid()).optional(),
  clearRoleIds: z.array(z.string().uuid()).optional(),
  roleExpectedUpdatedAtByRoleId: z.record(z.string().uuid(), z.string().min(1).nullable()).optional(),
  roleExpectedUpdatedAtByPerspectiveId: z.record(z.string().uuid(), z.string().min(1).nullable()).optional(),
  setRoleDefault: z.boolean().optional()
});
const perspectiveDeleteSchema = z.object({
  force: z.boolean().optional()
});
const rolePerspectiveSaveSchema = z.object({
  roleIds: z.array(z.string().uuid()).min(1),
  name: z.string().min(1).max(120),
  settings: perspectiveSettingsSchema,
  setDefault: z.boolean().optional()
});
export {
  perspectiveDeleteSchema,
  perspectiveSaveSchema,
  perspectiveSettingsSchema,
  rolePerspectiveSaveSchema
};
//# sourceMappingURL=validators.js.map
