import type { ChatType } from './types' ; const validateColor = require ( 'validate-color' ) . default ; type AutoColorValue = string ; interface AutoColors { mainForeground : AutoColorValue ; mainBackground : AutoColorValue ; greyForeground : AutoColorValue ; greyBackground : AutoColorValue ; menuForeground : AutoColorValue ; menuBackground : AutoColorValue ; inputForeground : AutoColorValue ; inputBackground : AutoColorValue ; buttonForeground : AutoColorValue ; buttonBackground : AutoColorValue ; link : AutoColorValue ; linkHover : AutoColorValue ; } param chatType param theme returns function isAutoColorsAvailable ( chatType , theme ) { if ( chatType !== 'builtin-prosody' && chatType !== 'builtin-converse' ) { return false ; } return theme === 'peertube' ; } param autocolors returns function areAutoColorsValid ( autocolors ) { const errors = [ ] ; for ( const k in autocolors ) { const color = autocolors [ k as keyof AutoColors ] ; if ( ! validateColor ( color ) ) { errors . push ( color ) ; } } if ( errors . length ) { return errors ; } return true ; } export { AutoColors , isAutoColorsAvailable , areAutoColorsValid } ;