UNPKG

@nodegui/svelte-nodegui

Version:
37 lines (36 loc) 1.81 kB
import { NSVElement, NSVViewFlags, NativeView } from './nodes'; export declare type NSVElementResolver<T extends NativeView = NativeView> = () => T; export declare type NSVModelDescriptor = { prop: string; event: string; }; export interface NSVViewMeta<T extends NativeView = NativeView, Props extends {} = {}> { viewFlags: NSVViewFlags; nodeOps?: { setProps?(newProps: Props, oldProps: Props): void; insert?(child: NSVElement, parent: NSVElement<T>, atIndex?: number): void | "defer"; remove?(child: NSVElement, parent: NSVElement<T>): void | "defer"; }; model?: NSVModelDescriptor; overwriteExisting?: boolean; } export interface NSVElementDescriptor<T extends NativeView = NativeView> { meta: NSVViewMeta; resolver?: NSVElementResolver<T>; } export declare let defaultViewMeta: NSVViewMeta; export declare function getViewMeta(elementName: string): NSVViewMeta; /** * @param elementName The name of the element registered into the elementMap. * @returns The nativeView associated with this element name. May be undefined * (e.g. for virtual elements like head and style). */ export declare function getViewClass(elementName: string): any | undefined; export declare function normalizeElementName(elementName: string): string; export declare function registerElement<T extends NativeView = NativeView, Props extends {} = {}>(elementName: string, resolver?: NSVElementResolver<T>, meta?: Partial<NSVViewMeta<T>>): void; export declare function isKnownView(elementName: string): boolean; /** * I had thought that all of these would extend NodeWidget, but it appears that many extend Component instead. * I'll improve the typings later. */ export declare function registerNativeElements(): void;