export interface Client {
  id: string
  name: string
  primaryDomain: string | null
  status: 'ACTIVE' | 'PENDING' | 'SUSPENDED' | 'DELETED'
  metadata: Record<string, unknown>
  createdAt: Date
  updatedAt: Date
}

export interface ServiceSubscription {
  id: string
  clientId: string
  tenantId: string | null
  offerCode: string
  offerName: string
  offerType: 'native' | 'partner'
  commercialModel: 'IRU' | 'SaaS' | 'managed_service' | 'reserved_capacity' | 'custom'
  supportOwner: 'sankofa' | 'partner' | 'shared'
  fulfillmentMode: 'self_service' | 'request_only' | 'operator_provisioned'
  billingMode: 'subscription' | 'contract' | 'quote'
  status: 'PENDING' | 'ACTIVE' | 'SUSPENDED' | 'CANCELLED' | 'PREVIEW' | 'REQUEST_ONLY'
  activatedAt: Date | null
  metadata: Record<string, unknown>
  createdAt: Date
  updatedAt: Date
}

export interface Entitlement {
  id: string
  subscriptionId: string
  tenantId: string | null
  entitlementKey: string
  status: 'PENDING' | 'ACTIVE' | 'SUSPENDED' | 'REVOKED'
  scope: Record<string, unknown>
  metadata: Record<string, unknown>
  createdAt: Date
  updatedAt: Date
}
