import ts from "typescript"; import { IPureObject } from "../../core/base"; import { IJsxAttrs } from "../../utils"; import { BasicComponent } from "../../core/component"; import { ReactHelper, ReactRender } from "../entity-helper"; export declare type IBasicReactContainerState = T & { rootElement: { name: string; attrs: IJsxAttrs; types: any[]; }; rootChildren: (ts.JsxChild | string)[]; }; declare type TP = IBasicReactContainerState; declare type TY = IBasicReactContainerState<{}>; export declare abstract class ReactComponent extends BasicComponent { protected readonly helper: ReactHelper; protected readonly render: ReactRender; private __elementMap; protected propType: string; constructor(helper: ReactHelper, render: ReactRender); protected onInit(): Promise; protected onChildrenPostRender(): Promise; protected onRender(): Promise; protected visitAndChangeChildNode(visitor: (key: string, node: ts.JsxElement) => ts.JsxElement): void; protected visitAndNotifyChildKey(visitor: (key: string) => void): void; protected addRootChildren(id: string, element: ts.JsxElement): void; protected getRootChildren(): (string | ts.JsxExpression | ts.JsxText | ts.JsxElement | ts.JsxSelfClosingElement | ts.JsxFragment)[]; protected setRootElement(tagName: string, attrs: IJsxAttrs): void; addReactUseState(name: string, defaultValue: unknown, type?: string): void; addReactUseCallback(name: string, callback: Function | string): void; addVariable(name: string, initilizer: ts.Expression): void; } export {};