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

export interface AlterVersionParametersProperties extends JSONSupportMixinProperties, Partial<Pick<AlterVersionParameters, "access" | "description" | "ownerName" | "versionName">> {}

export default abstract class AlterVersionParameters extends JSONSupport {
  /** The new access permissions of the version. */
  accessor access: AccessType | null | undefined;
  /** The new description for the version. */
  accessor description: string | undefined;
  /** The new owner name of the version. */
  accessor ownerName: string | undefined;
  /** The new name for the version. */
  accessor versionName: string | undefined;
}