import { SimpleApplication } from '@dooboostore/simple-boot/SimpleApplication';
import { SwcHTMLElementInterface } from './SwcHTMLElementInterface';
import { ConstructorType, Optional } from '@dooboostore/core/types';
import { RouterConfig } from "@dooboostore/simple-boot/decorators/route/Router";

export type SwcConfigType = {
  rootRouter: ConstructorType<any>;
  routeType: 'path' | 'hash';
  path?: string;
  // routerConfig: RouterConfig;
  window: Window;
};

export type SwcAttributeConfigType = Optional<SwcConfigType, 'routeType' | 'window'>;

export interface SwcAppInterface extends SwcHTMLElementInterface {
  simpleApplication?: SimpleApplication;
  routing(path: string): Promise<void>;
}
