import { ViewControllerMap, ControllerOptions, ViewController, SkillViewController } from '@sprucelabs/heartwood-view-controllers'; import { SkillTheme } from '../../types/heartwood.types'; import { RemoteFactoryOptions, RemoteViewControllerFactory } from '../../views/RemoteViewControllerFactory'; export default class MockRemoteViewControllerFactory implements RemoteViewControllerFactory { private static instance?; private loadedControllers; private lastRemoteCostructorOptions?; private constructorOptionsById; private views; private static controllers?; private static wasReset; private themes; private loadedNamespaces; constructor(options: RemoteFactoryOptions); fetchRemoteController(_name: string): Promise<(new () => ViewController) & { id: string; }>; Controller>(name: N, options: O): ViewControllerMap[N]; static dropInRemoteController(id: string, Class: new (args: any) => ViewController): void; private static dropInControllers; assertSkillViewRendersRemoteCard(vc: SkillViewController, name: string, id?: string): void; static reset(): void; static getInstance(): MockRemoteViewControllerFactory; getTheme(namespace?: string | undefined): SkillTheme | undefined; setTheme(namespace: string, theme: SkillTheme): void; assertDidNotFetchRemoteController(id: string): void; assertFetchedRemoteController(name: string, options?: Record): void; assertRemoteCardConstructorOptionsEqual(id: string, expected: Record): void; hasController(name: string): boolean; RemoteController(id: string, options: Record): Promise; loadViewsForNamespace(namespace: string): Promise; assertLoadedViewsForNamespace(namespace: string): void; } export type MockDroppedInControllers = Record ViewController>;