import { SPIFactory, SPIMatchAnyValue, type SPIMultiSelectorNoOptions, SPIOperator, type SPIOptions, type SPITokenFactory } from '@oinone/kunlun-spi'; import { VueWidget } from '@oinone/kunlun-vue-widget'; export type RootComponentType = VueWidget | { new (): VueWidget }; export interface RootComponentOptions extends SPIOptions { widget: string; } @SPIFactory.Storage(['widget'], { selector: (storageKey): SPIMultiSelectorNoOptions => { return () => { return SPIOperator.selectors(storageKey, { widget: SPIMatchAnyValue }); }; } }) export class RootComponentSPI { public static Token: SPITokenFactory; public static Selector: SPIMultiSelectorNoOptions; }