/**
 * Canonical enum type symbols.
 * Owning specs refine the concrete member values — these are the import sites.
 * - TaskStatus: refined by tasks-board-engine
 * - TenantTier: refined by foundation-auth-rbac
 * - UserRole: refined by foundation-auth-rbac
 * - InvoiceStatus: refined by invoices-core
 * - TicketStatus: refined by crm-support-center
 */
export type TaskStatus    = string  // refined by tasks-board-engine

/**
 * Subscription tier for a tenant — refined by foundation-auth-rbac.
 * Concrete TS enum: a single symbol that is both a runtime value and a type.
 * Order is load-bearing: FREELANCER < BUSINESS < ENTERPRISE < WHITE_LABEL.
 * Values match the `tenants.tier` CHECK constraint verbatim.
 */
export enum TenantTier {
  FREELANCER  = 'freelancer',
  BUSINESS    = 'business',
  ENTERPRISE  = 'enterprise',
  WHITE_LABEL = 'white_label',
}

export type UserRole      = string  // refined by foundation-auth-rbac
// invoices-core (wave-6): narrowed to canonical 10 states matching schema CHECK
export type InvoiceStatus = 'DRAFT' | 'SENT' | 'APPROVED' | 'REJECTED' | 'TAX_ISSUED' | 'PAID' | 'PARTIALLY_PAID' | 'VOID' | 'WRITTEN_OFF' | 'BAD_DEBT'
export type TicketStatus  = string  // refined by crm-support-center
