

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


declare type VixonicParameters = Partial<{
  abbreviatedMonths: boolean
  animationMode: string
  animationOrder: boolean
  animationSpeed: number
  animationTime: string
  animationStagger:number
  apiDomain: string
  backgroundImage: GeneralData
  containerColumns: string
  containerRows: string
  containerRowsGap: string
  containerColumnsGap:string
  dataMode: string
  dateAlignment: keyof typeof alignment
  dateDayFormat: DateFormat
  dateEnabled: boolean
  dateMonthFormat: DateFormat
  datePosition: number
  datePrimaryColor: string
  dateStyle: keyof typeof styles
  descriptionEnabled: boolean
  descriptionFormat: DateFormat
  optionalEnabled: boolean
  optionalFormat: DateFormat
  excludePast: boolean
  imageAlignment: keyof typeof alignment
  imageEnabled: boolean
  imagePosition: number
  imageStyle: keyof typeof borderStyles,
  imageSize: number
  itemMargins: string
  msj0: string
  nameFormat: DateFormat
  orientation: string
  padding: string
  photosMode: string
  photosZip: GeneralData
  template: string
  textAlignment: keyof typeof alignment
  textPosition: number
  updateTime: number
  urlBaseApi: string,
  imageMargin: string,
  textMargin: string,
  dateMargin: string,
  separator: boolean,
  separatorWidth: number,
  separatorColor: string,
  nameMaxChar: number,
  descriptionMaxChar: number,
}>


declare type DataEmployee = {
  apellidoPate: string
  area: string
  cargo: string
  contrato: string
  empleado: string
  empresa: string
  estado: string
  fechaInic: string
  modalidad_contrato: string
  nombre: string
  sede: string
  situacion: string
  tipoCont: string,
  nombreCargo: string,
  day:number
  month:number
  name:string
  position:string
  image:string
  optional: string
}

declare type Employees = {
  dataEmployee: DataEmployee[]  | any[][]
}

type GeneralData = {
  filename?: string
  id?: string,
  extension?: string,
  _isAsset: boolean
}

type DateFormat = {
  alignment?: { horizontal?: 'left' | 'right' | 'center' },
  font?: GeneralData,
  fontColor?: string,
  fontSize?: number
}

const alignment = {
  start: 'flex-start',
  center: 'center',
  end: 'flex-end'
}


const borderStyles = {
  normal: '0',
  rounded: '10',
  circle: '100'
}

const styles = {
  text: 'text',
  calendarFlat: 'calendarFlat',
  calendarText: 'calendarText',
  circle: 'circle',
  outlines: 'outlines'
}