/**
 * SIM Domain
 *
 * Exports SIM contracts + schemas.
 *
 * Provider adapters (BFF-only) live under: `@customer-portal/domain/sim/providers`.
 *
 * Types are derived from Zod schemas (Schema-First Approach)
 */

// Constants
export { SIM_STATUS, SIM_TYPE, SIM_PLAN_CODES, SIM_PLAN_LABELS } from "./contract.js";

// Schemas (includes derived types)
export * from "./schema.js";
export * from "./lifecycle.js";

// Validation functions
export * from "./validation.js";
export {
  canManageActiveSim,
  canReissueEsim,
  canCancelSim,
  canTopUpSim,
  formatSimPlanShort,
  SIM_PLAN_OPTIONS,
  getSimPlanLabel,
  buildSimFeaturesUpdatePayload,
} from "./helpers.js";
export type { SimPlanCode } from "./contract.js";
export type { SimPlanOption, SimFeatureToggleSnapshot } from "./helpers.js";
