import { User } from "../types/user.types.js";
import { OAuth2Access, Project, ProjectConfigCI, ProjectConfiguration, ProjectSchema, RepositoryConnection } from "../types/project.types.js";
import * as mongoose$1 from "mongoose";
import { Schema } from "mongoose";

//#region src/schemas/project.schema.d.ts
declare const projectSchema: Schema<ProjectSchema, mongoose$1.Model<ProjectSchema, any, any, any, (mongoose$1.Document<unknown, any, ProjectSchema, any, mongoose$1.DefaultSchemaOptions> & Omit<Project, "id"> & {
  _id: mongoose$1.Types.ObjectId;
} & Required<{
  _id: mongoose$1.Types.ObjectId;
}> & {
  __v: number;
} & {
  id: string;
}) | (mongoose$1.Document<unknown, any, ProjectSchema, any, mongoose$1.DefaultSchemaOptions> & Omit<Project, "id"> & {
  _id: mongoose$1.Types.ObjectId;
} & Required<{
  _id: mongoose$1.Types.ObjectId;
}> & {
  __v: number;
}), any, ProjectSchema>, {}, {}, {}, {}, mongoose$1.DefaultSchemaOptions, ProjectSchema, mongoose$1.Document<unknown, {}, ProjectSchema, {
  id: string;
}, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Project, "id"> & {
  _id: mongoose$1.Types.ObjectId;
} & Required<{
  _id: mongoose$1.Types.ObjectId;
}> & {
  __v: number;
}, "id"> & {
  id: string;
}, {
  createdAt?: mongoose$1.SchemaDefinitionProperty<number, ProjectSchema, mongoose$1.Document<unknown, {}, ProjectSchema, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Project, "id"> & {
    _id: mongoose$1.Types.ObjectId;
  } & Required<{
    _id: mongoose$1.Types.ObjectId;
  }> & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
  updatedAt?: mongoose$1.SchemaDefinitionProperty<number, ProjectSchema, mongoose$1.Document<unknown, {}, ProjectSchema, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Project, "id"> & {
    _id: mongoose$1.Types.ObjectId;
  } & Required<{
    _id: mongoose$1.Types.ObjectId;
  }> & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
  name?: mongoose$1.SchemaDefinitionProperty<string, ProjectSchema, mongoose$1.Document<unknown, {}, ProjectSchema, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Project, "id"> & {
    _id: mongoose$1.Types.ObjectId;
  } & Required<{
    _id: mongoose$1.Types.ObjectId;
  }> & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
  creatorId?: User["id"];
  membersIds?: any;
  adminsIds?: any;
  organizationId?: mongoose$1.SchemaDefinitionProperty<mongoose$1.Types.ObjectId, ProjectSchema, mongoose$1.Document<unknown, {}, ProjectSchema, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Project, "id"> & {
    _id: mongoose$1.Types.ObjectId;
  } & Required<{
    _id: mongoose$1.Types.ObjectId;
  }> & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
  imageUrl?: mongoose$1.SchemaDefinitionProperty<string, ProjectSchema, mongoose$1.Document<unknown, {}, ProjectSchema, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Project, "id"> & {
    _id: mongoose$1.Types.ObjectId;
  } & Required<{
    _id: mongoose$1.Types.ObjectId;
  }> & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
  configuration?: mongoose$1.SchemaDefinitionProperty<ProjectConfiguration, ProjectSchema, mongoose$1.Document<unknown, {}, ProjectSchema, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Project, "id"> & {
    _id: mongoose$1.Types.ObjectId;
  } & Required<{
    _id: mongoose$1.Types.ObjectId;
  }> & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
  repository?: mongoose$1.SchemaDefinitionProperty<RepositoryConnection, ProjectSchema, mongoose$1.Document<unknown, {}, ProjectSchema, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Project, "id"> & {
    _id: mongoose$1.Types.ObjectId;
  } & Required<{
    _id: mongoose$1.Types.ObjectId;
  }> & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
  webhooks?: mongoose$1.SchemaDefinitionProperty<ProjectConfigCI, ProjectSchema, mongoose$1.Document<unknown, {}, ProjectSchema, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Project, "id"> & {
    _id: mongoose$1.Types.ObjectId;
  } & Required<{
    _id: mongoose$1.Types.ObjectId;
  }> & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
  oAuth2Access?: mongoose$1.SchemaDefinitionProperty<OAuth2Access[], ProjectSchema, mongoose$1.Document<unknown, {}, ProjectSchema, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Project, "id"> & {
    _id: mongoose$1.Types.ObjectId;
  } & Required<{
    _id: mongoose$1.Types.ObjectId;
  }> & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
  _id?: mongoose$1.SchemaDefinitionProperty<mongoose$1.Types.ObjectId, ProjectSchema, mongoose$1.Document<unknown, {}, ProjectSchema, {
    id: string;
  }, mongoose$1.DefaultSchemaOptions> & Omit<Omit<Project, "id"> & {
    _id: mongoose$1.Types.ObjectId;
  } & Required<{
    _id: mongoose$1.Types.ObjectId;
  }> & {
    __v: number;
  }, "id"> & {
    id: string;
  }>;
}, ProjectSchema>;
//#endregion
export { projectSchema };
//# sourceMappingURL=project.schema.d.ts.map