/**
 * @typedef {Object} GOVBRTimelineUserControl
 * @prop {string} IDENTIFICADOR_COMPONENTE
 * @prop {string} URL_CDN
 * @prop {string} VERSAO_JS_COMPONENTE
 * @prop {string} LARGURA_COMPONENTE
 * @prop {string} ALTURA_COMPONENTE
 * @prop {'HORIZONTAL'|'VERTICAL'|'VERTICAL-LATERAL'} FORMATO_EXIBICAO
 * @prop {GOVBRTimelineItemBotao[]} BOTOES_CABECALHO
 * @prop {GOVBRTimelineItem[]} ITENS_EXIBICAO
 * @prop {string} ID_ITEM_CLICADO
 * @prop {string} ID_SUBITEM_CLICADO
 * @prop {string} ID_BOTAO_CLICADO
 * @prop {Function} clickBotaoItem
 */

/**
 * @typedef {Object} GOVBRTimelineItem
 * @prop {string} identificador
 * @prop {string} corFundo
 * @prop {string} classeIcone
 * @prop {string} titulo
 * @prop {string} dataHora
 * @prop {string} nomePessoa
 * @prop {string} conteudoHTML
 * @prop {string} rodapeHTML
 * @prop {boolean} aberto
 * @prop {GOVBRTimelineItem[]} Filhos
 * @prop {GOVBRTimelineItemTag[]} Tags
 * @prop {GOVBRTimelineItemBotao[]} Botoes
 * @prop {GOVBRTimelineItemSecao[]} Secoes
 *
 * @prop {boolean} __carregado
 */

/**
 * @typedef {Object} GOVBRTimelineItemTag
 * @prop {string} texto
 * @prop {string} corFrente
 * @prop {string} corFundo
 */

/**
 * @typedef {Object} GOVBRTimelineItemBotao
 * @prop {string} identificador
 * @prop {string} texto
 * @prop {string} classeIcone
 * @prop {string} corFrente
 * @prop {string} corFundo
 */

/**
 * @typedef {Object} GOVBRTimelineItemSecao
 * @prop {string} titulo
 * @prop {string} classeIcone
 * @prop {GOVBRTimelineSubitem[]} Itens
 */

/**
 * @typedef {Object} GOVBRTimelineSubitem
 * @prop {string} identificador
 * @prop {string} titulo
 * @prop {string} linkImagem
 * @prop {string} Hint
 * @prop {boolean} recusado
 * @prop {GOVBRTimelineItemBotao[]} Botoes
 */
