import { i18n } from "i18next";

import {
  AppStateInterface,
  AppRefsInterface,
  AppConfigRouteInterface,
  ServicesInterface,
  WidgetTypeInterface,
  NavigationGroupInterface,
  NavigationItemInterface,
  Store,
} from "..";

export interface AppInterface {
  id: string;
  i18n: i18n;
  ui: {
    refs: AppRefsInterface;
    languages: { key: string; label: string; fallback: string }[];
    staticNavigationGroups: NavigationGroupInterface[];
    staticNavigationItems: NavigationItemInterface[];
  };
  routes: AppConfigRouteInterface[];
  widgets: WidgetTypeInterface[];
  state: Store<AppStateInterface>;
  services: ServicesInterface;
}
