UNPKG

@c11/engine.types

Version:

Typescript types for everything engine related

33 lines (32 loc) 1.01 kB
/// <reference types="react" /> import { ProducersList, StructOperation, ProducerInstance, ProducerMeta } from "./producer"; export interface RenderConfig { element: any; root: any; } export interface ViewConfig { sourceId: string; buildId: string; meta: ProducerMeta; props: StructOperation; fn: ViewFn<any>; } export declare type RootElement = HTMLElement | null; export interface ViewInstance { id: string; sourceId: string; producers: ProducerInstance[]; } export interface RenderInstance { unmount: () => RenderInstance; mount: () => RenderInstance; getRoot: () => RootElement; } export declare type ViewFn<ExternalProps> = (props: any) => React.ReactElement<ExternalProps> | null; export declare type ViewExtra = { producers: (producers: ProducersList) => void; }; export declare type View<ExternalProps> = ViewFn<ExternalProps> & ViewExtra; export declare type ViewsList = View<any> | View<any>[] | ViewsList[] | { [k: string]: ViewsList; };