"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const spring = require("../generators/spring.js");
const keyframes = require("../generators/keyframes.js");
const decay = require("../generators/decay.js");
const types = { keyframes: keyframes.keyframes, spring: spring.spring, decay: decay.decay };
function detectAnimationFromOptions(config) {
  if (Array.isArray(config.to)) {
    return keyframes.keyframes;
  } else if (types[config.type]) {
    return types[config.type];
  }
  const keys = new Set(Object.keys(config));
  if (keys.has("ease") || keys.has("duration") && !keys.has("dampingRatio")) {
    return keyframes.keyframes;
  } else if (keys.has("dampingRatio") || keys.has("stiffness") || keys.has("mass") || keys.has("damping") || keys.has("restSpeed") || keys.has("restDelta")) {
    return spring.spring;
  }
  return keyframes.keyframes;
}
exports.detectAnimationFromOptions = detectAnimationFromOptions;
//# sourceMappingURL=detect-animation-from-options.js.map
