612 BTypeScriptView Raw
1import { Node } from './node';
2export type NodePropertyDescriptor = {
3 type: 'object' | 'value' | 'array' | 'node' | 'container' | 'mix';
4 key?: string;
5 ctor?: new (...args: any[]) => any;
6};
7type NodeClass = new (props: any, type?: string) => Node;
8/**
9 * A decorator to define different type of attribute setter or
10 * getter for current node.
11 */
12export declare function defineProps(descriptors: Record<string, NodePropertyDescriptor>): (Node: NodeClass) => any;
13export declare function nodeProps(node: Record<string, new (...args: any[]) => any>): Record<string, NodePropertyDescriptor>;
14export {};