import { symbols, BaseLiteralType } from '@vinejs/vine'; import type { Validation, FieldContext, FieldOptions } from '@vinejs/vine/types'; import type { MultipartFile, FileValidationOptions } from '@adonisjs/bodyparser/types'; declare const MULTIPART_FILE: typeof symbols.SUBTYPE; /** * Validation options accepted by the "file" rule */ export type FileRuleValidationOptions = Partial | ((field: FieldContext) => Partial); /** * Represents a multipart file uploaded via multipart/form-data HTTP * request. This class extends VineJS's BaseLiteralType to provide * specialized validation for uploaded files. * * @example * const fileSchema = vine.object({ * avatar: vine.file({ * size: '2mb', * extnames: ['jpg', 'png'] * }) * }) */ export declare class VineMultipartFile extends BaseLiteralType { #private; /** * Symbol identifier for multipart file subtype */ [MULTIPART_FILE]: string; /** * Creates a new VineMultipartFile instance * * @param validationOptions - File validation options like size limits and allowed extensions * @param options - Field options from VineJS * @param validations - Array of validation functions to apply */ constructor(validationOptions?: FileRuleValidationOptions, options?: FieldOptions, validations?: Validation[]); /** * Creates a clone of the current VineMultipartFile instance * with the same validation options and configurations */ clone(): this; } export {};