// Generated by dts-bundle v0.7.3 // Dependencies for this module: // ../../@reactivex/rxjs import { Observable } from '@reactivex/rxjs'; import { Observable, Subject } from '@reactivex/rxjs'; export interface BaseEngine { preload(): void; create(): void; update(): void; render(): void; } /** * Controller accepts input from view and converts modifieds the model. */ export abstract class Controller extends ModelObservableFactory { protected route: RouteService; constructor(witcase?: Witcase); } export class Guid { static newGuid(): string; } export class ModelObservableFactory { protected onChange(getModel: () => T): Observable; checkModelChanges(): void; } export class RouteActionParams { route: string; action: string | undefined; params: string | undefined; constructor(route: string, action?: string | undefined, params?: string | undefined); } export class RouteService extends WitcaseObservable { goTo(route: string, action?: string, params?: any): void; onRoute(route: string, observer: (routeParams: RouteActionParams) => void): void; } export class ViewObservable extends WitcaseObservable { subscribe(observer: (t: T) => void): void; publish(value?: T): void; } /** * Adds a component to the view and other view components */ export class ViewComponentAdder { constructor(components: ViewComponent[], view: View); addComponent>(component: S): S; } /** * Input and ouput for the application */ export abstract class View extends ModelObservableFactory { protected components: ViewComponent[]; onCreated: ViewObservable; constructor(witcase?: Witcase); create(_componentAdder: ViewComponentAdder): void; update(_componentAdder: ViewComponentAdder): void; render(): void; show(): void; hide(): void; readonly engine: T; updateView(): void; renderView(): void; destroy(): void; } /** * Component to be showed in view */ export abstract class ViewComponent { view: View; protected components: ViewComponent[]; create(_componentAdder: ViewComponentAdder): void; update(_componentAdder: ViewComponentAdder): void; render(): void; destroy(): void; createComponent(componentAdder: ViewComponentAdder, view: View): void; updateComponent(componentAdder: ViewComponentAdder): void; renderComponent(): void; destroyComponent(): void; hideComponent(): void; showComponent(): void; hide(): void; show(): void; protected readonly engine: T; } export class WitcaseObservable { protected observable: Observable; protected subject: Subject; constructor(); protected subscribe(observer: (t: T) => void): void; protected publish(value?: T): void; } /** */ export class Witcase implements BaseEngine { engine: T; defaultAction: () => void; static current: any; route: RouteService; static create(): any; start(engineStarter: (baseEngine: BaseEngine) => T): void; create: () => void; static preload(resourceLoader: (engine: T) => void): void; preload: () => void; update: () => void; render: () => void; registerView(view: View): void; unregisterView(viewToRemove: View): void; registerController(controller: Controller): void; }