package ol.style;

import jsinterop.annotations.JsProperty;
import jsinterop.annotations.JsType;
import ol.Options;

/**
 * Options for the {@link Style}.
 *
 * @author Tino Desjardins
 *
 */
@JsType(isNative = true)
public interface StyleOptions extends Options {

    /**
     * {@link Fill} style.
     * 
     * @param fill {@link Fill}
     */
    @JsProperty
    void setFill(Fill fill);

    /**
     * {@link Image} style.
     * 
     * @param image {@link Image}
     */
    @JsProperty
    void setImage(Image image);

    /**
     * {@link Stroke} style.
     * 
     * @param stroke {@link Stroke}
     */
    @JsProperty
    void setStroke(Stroke stroke);

    /**
     * Z index.
     * 
     * @param zIndex Z-index
     */
    @JsProperty
    void setZIndex(int zIndex);

    /**
     * Text style.
     *
     * @param text {@Text text}
     */
    @JsProperty
    void setText(Text text);

}

@@ -12,16 +12,56 @@
 style;%0A%0A
+import jsinterop.annotations.JsPackage;%0A
 import j
@@ -93,16 +93,16 @@
 operty;%0A
-
 import j
@@ -252,26 +252,69 @@
 true
-)%0Apublic interface
+, namespace = JsPackage.GLOBAL, name = %22Object%22)%0Apublic class
  Sty
@@ -327,14 +327,17 @@
 ons 
-extend
+implement
 s Op
@@ -378,33 +378,32 @@
 l%7D style.%0A     *
- 
 %0A     * @param f
@@ -439,32 +439,46 @@
 @JsProperty%0A    
+public native 
 void setFill(Fil
@@ -521,33 +521,32 @@
 e%7D style.%0A     *
- 
 %0A     * @param i
@@ -584,32 +584,46 @@
 @JsProperty%0A    
+public native 
 void setImage(Im
@@ -670,33 +670,32 @@
 e%7D style.%0A     *
- 
 %0A     * @param s
@@ -735,32 +735,46 @@
 @JsProperty%0A    
+public native 
 void setStroke(S
@@ -819,17 +819,16 @@
 .%0A     *
- 
 %0A     * 
@@ -869,32 +869,46 @@
 @JsProperty%0A    
+public native 
 void setZIndex(i
@@ -1010,20 +1010,34 @@
 roperty%0A
-
     
+public native 
 void set

Make options creatable with new operator