): void;
}
export declare abstract class ComponentConfig {
abstract tagName: string;
getContext(parentContext: any, rootInstance: AppContainer): {};
abstract shouldSetTextContent(nextProps: RNProps): boolean;
abstract createInstance(newProps: RNProps, rootInstance?: AppContainer, context?: any, workInProgress?: Fiber): RNComponent;
finalizeInitialChildren(instance: RNComponent, newProps: RNProps, rootContainerInstance: AppContainer, context: any): boolean;
commitMount(instance: RNComponent, newProps: RNProps, internalInstanceHandle: any): void;
prepareUpdate(instance: RNComponent, oldProps: RNProps, newProps: RNProps, rootContainerInstance: AppContainer, hostContext: any): UpdatePayload;
abstract commitUpdate(instance: RNComponent, updatePayload: any, oldProps: RNProps, newProps: RNProps, finishedWork: Fiber): void;
}
declare type ReactNodeGuiTag = string | React.ComponentType
;
export declare const getComponentByTagName: (tagName: string) => ComponentConfig;
export declare function registerComponent(config: ComponentConfig): ReactNodeGuiTag;
export {};