import type { AttachmentFile, Bilingual } from '../licensing/licensing.types';

/**
 * One slot in the applicant's personal document vault, with whatever they
 * have put in it.
 *
 * The slot itself is configuration: a document requirement that names no
 * licence type applies to every licence, so the backoffice adds and retires
 * these without a release. That is why the label, the accepted types and the
 * limits arrive from the API rather than living in the portal.
 */
export interface PersonalDocumentSlot {
  key: string;
  name: Bilingual;
  description: Bilingual | null;
  /** How many files the slot holds; null means as many as the holder has. */
  maxFiles: number | null;
  allowedMimeTypes: string[];
  maxSizeMb: number;
  sortOrder: number;
  files: AttachmentFile[];
}
