   (s/coll-of (s/multi-spec window-type :window/type)
              :kind vector?))
 
-(s/def :trigger/window-id keyword?)
+(s/def :trigger/doc string?)
+
+(s/def :trigger/fire-all-extents? boolean?)
 
 (s/def :trigger/on keyword?)
 
+(s/def :trigger/pred keyword?)
+
 (s/def :trigger/sync keyword?)
 
-(s/def :trigger/pred keyword?)
+(s/def :trigger/emit keyword?)
+
+(s/def :trigger/window-id :window/id)
+
+(s/def :trigger/on keyword?)
 
 (s/def :trigger/fire-all-extents? boolean?)
 
 (s/def :trigger/watermark-percentage number?)
-
-(s/def :trigger/doc string?)
 
 (s/def :trigger/refinement
   #{:onyx.refinements/accumulating


(s/def :onyx/group-by-fn namespaced-keyword?)

(s/def :onyx/input-retry-timeout pos-int?)

(s/def :onyx/language #{:clojure :java})

(s/def :onyx/max-peers pos-int?)

        :vec (s/cat :keyword keyword?)
        :vec-params (s/cat :keyword keyword? :any any?)))

(s/def :window/window-key any?)

(defmulti window-type :window/type)

(defmethod window-type :fixed
