export enum UNVersioningStrategyType {
  latest = 'latest',
  exact = 'exact',
  upToNextMinor = 'upToNextMinor',
  upToNextMajor = 'upToNextMajor'
}

type UNLatestWebVersioningStrategy = {
  type: UNVersioningStrategyType.latest;
}

type UNExactWebVersioningStrategy = {
  type: UNVersioningStrategyType.exact;
  major: number;
  minor: number;
  patch: number;
}

type UNUpToNextMinorWebVersioningStrategy = {
  type: UNVersioningStrategyType.upToNextMinor;
  major: number;
  minor: number;
}

type UNUpToNextMajorWebVersioningStrategy = {
  type: UNVersioningStrategyType.upToNextMajor;
  major: number;
}

export type UNWebVersioningStrategy =
  UNLatestWebVersioningStrategy
  | UNExactWebVersioningStrategy
  | UNUpToNextMinorWebVersioningStrategy
  | UNUpToNextMajorWebVersioningStrategy;
