import type { AppConfig, RouteConfig as DefaultRouteConfig } from '@ice/runtime';
<%- routeConfigTypes.imports -%>

<% if (routeConfigTypes.imports) {-%>
type ExtendsRouteConfig = <% if (routeConfigTypes.imports) { %><%- routeConfigTypes.exportNames.join(' & ') %><% } %>;
<% } else { -%>
type ExtendsRouteConfig = {};
<% } -%>
type PageConfig = DefaultRouteConfig<ExtendsRouteConfig>;
type PageConfigDefinitionContext<DataType = any> = {
  data?: DataType;
};
type PageConfigDefinition = (context: PageConfigDefinitionContext) => PageConfig;

export type {
  AppConfig,
  PageConfig,
  PageConfigDefinition,
};
