declare const React: any; interface UIProps { width: number | string; height: number | string; top: number; left: number | JSX.Element; bottom: number; right: number | JSX.Element; rgap: number; lgap: number; tgap: number; bgap: number; vgap: number; hgap: number; _rgap: number; _lgap: number; _tgap: number; _bgap: number; _hgap: number; _vgap: number; inset: number | string; } // 一些布局的附加属性 interface AdditionalProps { column: number; row: number; innerVgap: number; innerHgap: number; } interface ElementClassProps extends UIProps { cls: string | ((context: any) => string); extraCls: string; ref: (ref: T) => void; listeners: { eventName: string; action: (...args: any[]) => any; once?: boolean; }[]; disabled: boolean | ((context: any) => boolean); invisible: boolean | ((context: any) => boolean); invalid: boolean | ((context: any) => boolean); attributes: { [key: string]: any; }; css: { [key: string]: any; } | (() => any); tagName: string; element: any; $testId: string; $point: any; $value: any; $scope: any; beforeRender(callback: () => void): void; beforeInit(callback: () => void): void; render(): any; beforeCreate(): void; created(): void; beforeMount(): void; mounted(): void; shouldUpdate(): void; update(): void; beforeUpdate(): void; updated(): void; beforeDestroy(): void; destroyed(): void; } type Widget = import('./index').Widget; type Props = Partial & AdditionalProps & Record>; declare namespace JSX { interface Element extends Props { type: string; } interface ElementClass extends Widget {} // for undefined interface IntrinsicElements { [elemName: string]: Partial; } interface ElementAttributesProperty { /** * specify the property name to use */ __props: any, } interface IntrinsicClassAttributes extends Partial> {} }