/**
 * @typedef {Object} GOVBRFileDragDropUserControl
 * @prop {string} URL_CDN
 * @prop {string} VERSAO_JS_COMPONENTE
 * @prop {string} LARGURA_COMPONENTE
 * @prop {string} ALTURA_COMPONENTE
 *
 * @prop {string} IDENTIFICADOR_COMPONENTE
 * @prop {boolean} COMPACTO - TODO - Seria uma exibição mais compacta, ótima para exibir múltiplos campos verticalmente um após o outro, igual tem no portal.
 *
 * @prop {GOVBRFileDragDropConfig} CONFIG_BASE
 * @prop {GOVBRFileDragDropCategoriaConfig[]} CATEGORIAS
 *
 * @prop {GOVBRFileDragDropValor[]} VALORES
 */

/**
 * @typedef {Object} GOVBRFileDragDropCategoriaConfig
 * @prop {string} Id
 * @prop {string} Titulo
 * @prop {GOVBRFileDragDropConfig} Config
 */

/**
 * @typedef {Object} GOVBRFileDragDropConfig
 * @prop {boolean=} Oculto
 * @prop {number=} TamanhoMaximoMegaBytes
 * @prop {string=} FormatoPadrao
 * @prop {string[]=} ListaFormatos
 * @prop {boolean=} Obrigatorio
 * @prop {boolean=} Multiplo
 */

/**
 * @typedef {Object} GOVBRFileDragDropValor
 * @prop {string} IdCategoria
 * @prop {string} IdUpload
 * @prop {string} Titulo
 * @prop {string} MimeType
 * @prop {string=} UrlPrevisualizacao - TODO - Seria para permitir receber os valores do servidor e previsualizar eles.
 *
 * @prop {boolean=} __server
 */
