<%
  const layers = locals.layers;
-%>
/* eslint-disable */
// DO NOT MODIFY
// THIS FILE IS AUTOGENERATED

export interface ConstantProps {
  styletype: string
  payload: {
    value: any,
  },
};

export interface StyleFunctionProps {
  styletype: string
  payload: {
    fn: string,
    attributeName: string,
    stops: any[],
    mode: any,
  }
}

export interface TransitionProps {
  duration: number
  delay: number,
}

export type TranslationProps = { x: number, y: number } | number[]

<%_ for (let layer of layers) { _%>
export interface <%- camelCase(layer.name) _%>LayerStyleProps {
  <%_ for (let prop of layer.properties) { %>
  /**
   * <%- prop.doc.description %>
  <%_ if (prop.doc.requires.length) { _%>
   *
   * @requires <%- prop.doc.requires.join(', ') %>
  <%_ } _%>
  <%_ if (prop.doc.disabledBy.length) { _%>
   *
   * @disabledBy <%- prop.doc.disabledBy.join(', ') %>
  <%_ } _%>
   */
  <%= prop.name %>: <%- dtsInterfaceType(prop) %>
  <%_ if (prop.transition) { %>
  /**
   * The transition affecting any changes to this layer’s <%= prop.name %> property.
   */
  <%= prop.name %>Transition: TransitionProps,
  <%_ } _%>
  <%_ } _%>
};

<%_ } _%>
