/**
 * Subscriptions Domain
 * 
 * Exports all subscription-related contracts, schemas, and provider mappers.
 * 
 * Types are derived from Zod schemas (Schema-First Approach)
 */

// Constants
export { SUBSCRIPTION_STATUS, SUBSCRIPTION_CYCLE } from "./contract";

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

// Re-export types for convenience
export type {
  SubscriptionStatus,
  SubscriptionCycle,
  Subscription,
  SubscriptionList,
  SubscriptionQueryParams,
  SubscriptionQuery,
  SubscriptionStats,
  SimActionResponse,
  SimPlanChangeResult,
} from './schema';

// Provider adapters
export * as Providers from "./providers/index";

// Re-export provider raw types (request and response)
export type {
  // Request params
  WhmcsGetClientsProductsParams,
  // Response types
  WhmcsProductListResponse,
} from "./providers/whmcs/raw.types";

export {
  whmcsProductListResponseSchema,
} from "./providers/whmcs/raw.types";
