declare type VixonicData = {
  downloadsPath: string
  services: {[key: string]: {data?: any; updatedAt?: number}}
  parameters: VixonicParameters
}

declare type VixonicParameters = Partial<{
  displayService: 'AnniversaryAppService' | 'RexmasAnniversarieService' | 'BukAnniversarieService' | 'TalanaAnniversariesService'
  documentService: {id: string}
  rexmasService: {id: string}
  bukService: {id: string}
  talanaService: {id: string}
  photoMode: 'zip' | 'online'
  photosZip: {id?: string; filename?: string; extension?: string}
  updateTime: 600000 | 1800000 | 3600000 | 21600000 | 43200000 | 86400000 | 604800000
  defaultMessage: string
  defaultMessageFormat: {
    fontSize?: number
    fontColor?: string
    alignment?: {horizontal?: 'left' | 'right' | 'center'}
    font?: {filename: string; id: string; __isAsset: true}
  }
  orientation: 'h' | 'v'
  animationMode: 'fade' | 'slideRight' | 'slideLeft'
  animationSpeed: 2 | 1.5 | 1
  animationOrder: boolean
  animationTime: number
  containerColumns: number
  containerColumnsGap: number
  containerRows: number
  containerRowsGap: number
  backgroundImage: {id?: string; filename?: string; extension?: string}
  padding: string
  textPosition: 1 | 2 | 3
  textAlignment: 'start' | 'center' | 'end'
  nameFormat: {
    fontSize?: number
    fontColor?: string
    alignment?: {horizontal?: 'left' | 'right' | 'center'}
    font?: {filename: string; id: string; __isAsset: true}
  }
  nameMaxChar: number
  textMargin: string
  descriptionEnabled: boolean
  descriptionFormat: {
    fontSize?: number
    fontColor?: string
    alignment?: {horizontal?: 'left' | 'right' | 'center'}
    font?: {filename: string; id: string; __isAsset: true}
  }
  descriptionMaxChar: number
  optionalEnabled: boolean
  optionalFormat: {
    fontSize?: number
    fontColor?: string
    alignment?: {horizontal?: 'left' | 'right' | 'center'}
    font?: {filename: string; id: string; __isAsset: true}
  }
  imageEnabled: boolean
  imagePosition: 1 | 2 | 3
  imageAlignment: 'start' | 'center' | 'end'
  imageStyle: 'normal' | 'rounded' | 'circle'
  imageMargin: string
  imageSize: number
  dateEnabled: boolean
  datePosition: 1 | 2 | 3
  dateAlignment: 'start' | 'center' | 'end'
  dateStyle: 'calendarFlat' | 'calendarText' | 'circle' | 'text' | 'outlines'
  dateDayFormat: {
    fontSize?: number
    fontColor?: string
    alignment?: {horizontal?: 'left' | 'right' | 'center'}
    font?: {filename: string; id: string; __isAsset: true}
  }
  dateMonthFormat: {
    fontSize?: number
    fontColor?: string
    alignment?: {horizontal?: 'left' | 'right' | 'center'}
    font?: {filename: string; id: string; __isAsset: true}
  }
  abbreviatedMonths: boolean
  datePrimaryColor: string
  dateMargin: string
  separator: boolean
  separatorWidth: number
  separatorColor: string
  itemMargins: string
}>
