import type { JSONSupport, JSONSupportMixinProperties } from "../../../core/JSONSupport.js";
import type { AccessType } from "../../../versionManagement/support/type.js";

export interface CreateVersionParametersProperties extends JSONSupportMixinProperties, Partial<Pick<CreateVersionParameters, "access" | "description" | "versionName">> {}

export default abstract class CreateVersionParameters extends JSONSupport {
  /**
   * The access type of the new version.
   *
   * @default "private"
   */
  accessor access: AccessType;
  /** The description of the new version. */
  accessor description: string | null;
  /** The name of the new version. */
  accessor versionName: string | undefined;
}