/**
 * CII-specific types and constants
 */

// CII namespaces (ZUGFeRD v2/Factur-X)
export const CII_NAMESPACES = {
  RSM: 'urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100',
  RAM: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100',
  UDT: 'urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100'
};

// ZUGFeRD v1 namespaces
export const ZUGFERD_V1_NAMESPACES = {
  RSM: 'urn:ferd:CrossIndustryDocument:invoice:1p0',
  RAM: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12',
  UDT: 'urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15'
};

// CII profiles
export enum CIIProfile {
  BASIC = 'BASIC',
  COMFORT = 'COMFORT',
  EXTENDED = 'EXTENDED',
  EN16931 = 'EN16931',
  MINIMUM = 'MINIMUM'
}

// CII profile IDs for different formats
export const CII_PROFILE_IDS = {
  // Factur-X profiles
  FACTURX_MINIMUM: 'urn:factur-x.eu:1p0:minimum',
  FACTURX_BASIC: 'urn:factur-x.eu:1p0:basicwl',
  FACTURX_EN16931: 'urn:cen.eu:en16931:2017',

  // ZUGFeRD v2 profiles
  ZUGFERD_BASIC: 'urn:zugferd:basic',
  ZUGFERD_COMFORT: 'urn:zugferd:comfort',
  ZUGFERD_EXTENDED: 'urn:zugferd:extended',

  // ZUGFeRD v1 profiles
  ZUGFERD_V1_BASIC: 'urn:ferd:CrossIndustryDocument:invoice:1p0:basic',
  ZUGFERD_V1_COMFORT: 'urn:ferd:CrossIndustryDocument:invoice:1p0:comfort',
  ZUGFERD_V1_EXTENDED: 'urn:ferd:CrossIndustryDocument:invoice:1p0:extended'
};
