import { RenameId } from "../utils/mongoDB/types.js";
import { User } from "./user.types.js";
import { Organization } from "./organization.types.js";
import { Project } from "./project.types.js";
import { Document, Model, ObjectIdToString, Types } from "mongoose";

//#region src/types/tag.types.d.ts
type TagCreationData = {
  key: string;
  name?: string;
  description?: string;
  instructions?: string;
};
type TagData = {
  key: string;
  name?: string;
  description?: string;
  instructions?: string;
  creatorId: User['id'];
  projectId: Project['id'];
  organizationId: Organization['id'];
};
type Tag = TagData & {
  id: Types.ObjectId;
  createdAt: number;
  updatedAt: number;
};
type TagAPI = ObjectIdToString<Tag>;
type TagSchema = RenameId<Tag>;
type TagModelType = Model<Tag>;
type TagDocument = Document<unknown, {}, Tag> & Tag;
//#endregion
export { Tag, TagAPI, TagCreationData, TagData, TagDocument, TagModelType, TagSchema };
//# sourceMappingURL=tag.types.d.ts.map