<%
var ulc = isBlank(prefix) ? table.name : subAfter(table.name, prefix);
var lcc = toCamelCase(ulc);
var ucc = upperFirst(lcc);
var dc = toDashCase(lcc);

var pageVueName = ucc + ".vue";
var formVueName = ucc + "Form.vue";
var pageTsName = "page.ts";
var apiTsName = dc + "-api.ts";
var dTsName = dc + ".d.ts";
%>
export {}

declare global {
  namespace ${ucc}Types {
    interface Search${ucc}Param extends G.PageParam {
      <%
      for(column in table.columns) {
          var map = tsType(column.dataType);
      %>
      // ${column.comment}
      ${toCamelCase(column.name)}?: ${map.dataType}
      <%}%>
    }

    interface Search${ucc}Result {
      <%
      for(column in table.columns) {
          var map = tsType(column.dataType);
      %>
      // ${column.comment}
      ${toCamelCase(column.name)}?: ${map.dataType}
      <%}%>
    }

    interface Add${ucc}Param {
      <%
      for(column in table.columns) {
          var map = tsType(column.dataType);
      %>
      // ${column.comment}
      ${toCamelCase(column.name)}?: ${map.dataType}
      <%}%>
    }

    interface Modify${ucc}Param {
      <%
      for(column in table.columns) {
          var map = tsType(column.dataType);
      %>
      // ${column.comment}
      ${toCamelCase(column.name)}?: ${map.dataType}
      <%}%>
    }
  }
}
