import { n as RenameId } from "./types-laoxoA5P.js";
import { n as User } from "./user.types-BcSU0sts.js";
import { Document, Model, ObjectIdToString, Types } from "mongoose";

//#region src/types/plan.types.d.ts
type PlanType = 'FREE' | 'PREMIUM' | 'ENTERPRISE';
type PlanData = {
  type: PlanType;
  creatorId?: User['id'];
  subscriptionId?: string;
  customerId?: string;
  priceId?: string;
  status?: 'active' | 'canceled' | 'past_due' | 'unpaid' | 'incomplete' | 'incomplete_expired' | 'paused' | 'trialing';
  period?: 'MONTHLY' | 'YEARLY';
};
type Plan = PlanData & {
  id: Types.ObjectId;
  createdAt: number;
  updatedAt: number;
};
type PlanAPI = ObjectIdToString<Plan>;
type PlanSchema = RenameId<Plan>;
type PlanModelType = Model<Plan>;
type PlanDocument = Document<unknown, {}, Plan> & Plan;
//#endregion
export { PlanModelType as a, PlanDocument as i, PlanAPI as n, PlanSchema as o, PlanData as r, PlanType as s, Plan as t };
//# sourceMappingURL=plan.types-Q-hdKXkn.d.ts.map