import type { Core } from '@strapi/types'; import { AbstractRouteValidator, type QueryParam } from '@strapi/utils'; import * as z from 'zod/v4'; export type FileQueryParam = QueryParam; /** * UploadRouteValidator provides validation for upload/file routes. * * Extends the AbstractRouteValidator to inherit common query parameter validation * while adding file-specific validation schemas. */ export declare class UploadRouteValidator extends AbstractRouteValidator { protected readonly _strapi: Core.Strapi; constructor(strapi: Core.Strapi); /** * File schema for upload responses * Defines the structure of a file object returned by the upload API */ get file(): z.ZodObject<{ id: z.ZodNumber; documentId: z.ZodUUID; name: z.ZodString; alternativeText: z.ZodOptional>; caption: z.ZodOptional>; width: z.ZodOptional; height: z.ZodOptional; formats: z.ZodOptional>; hash: z.ZodString; ext: z.ZodOptional; mime: z.ZodString; size: z.ZodNumber; url: z.ZodString; previewUrl: z.ZodOptional>; folder: z.ZodOptional; folderPath: z.ZodString; provider: z.ZodString; provider_metadata: z.ZodOptional>>; createdAt: z.ZodString; updatedAt: z.ZodString; createdBy: z.ZodOptional; updatedBy: z.ZodOptional; }, z.core.$strip>; /** * Array of files schema */ get files(): z.ZodArray>; caption: z.ZodOptional>; width: z.ZodOptional; height: z.ZodOptional; formats: z.ZodOptional>; hash: z.ZodString; ext: z.ZodOptional; mime: z.ZodString; size: z.ZodNumber; url: z.ZodString; previewUrl: z.ZodOptional>; folder: z.ZodOptional; folderPath: z.ZodString; provider: z.ZodString; provider_metadata: z.ZodOptional>>; createdAt: z.ZodString; updatedAt: z.ZodString; createdBy: z.ZodOptional; updatedBy: z.ZodOptional; }, z.core.$strip>>; /** * File ID parameter validation */ get fileId(): z.ZodNumber; /** * Upload request body schema for single file uploads */ get uploadBody(): z.ZodObject<{ fileInfo: z.ZodOptional; alternativeText: z.ZodOptional; caption: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; /** * Upload request body schema for multiple file uploads */ get multiUploadBody(): z.ZodObject<{ fileInfo: z.ZodOptional; alternativeText: z.ZodOptional; caption: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>; } //# sourceMappingURL=upload.d.ts.map