import { Component as IntactComponent, Props, VNodeComponentClass } from 'intact'; import { Component as ReactComponent, ReactNode, Provider, HTMLAttributes, ReactChild, ReactElement } from 'react'; import { normalizeChildren } from './normalize'; import { functionalWrapper } from './functionalWrapper'; import { FakePromise, FakePromises } from './fakePromise'; export * from 'intact'; export { normalizeChildren as normalize }; declare type ValidReactNode = ReactChild | null | undefined; declare type OnEvents = { [K in keyof E as `on${Capitalize}`]: E[K]; }; declare type IntactReactProps = Readonly

& Readonly<{ children?: ReactNode | undefined; className?: string; style?: string | Record; }> & Readonly<{ [K in keyof P as `onChange${Capitalize}`]?: (oldValue: P[K], newValue: P[K]) => void; }> & Readonly<{ [K in keyof E as `on${Capitalize}`]?: (...args: E[K]) => void; }> & Readonly<{ [K in keyof B as `slot${Capitalize}`]?: B[K] extends null ? ValidReactNode : (data: B[K]) => ValidReactNode; }> & Readonly | 'style'>>; declare type NormalizedHTMLAttibutes = { [Key in keyof HTMLAttributes]: Key extends `on${infer Name}` ? GlobalEventHandlers[Lowercase] : HTMLAttributes[Key]; }; export declare class Component

extends IntactComponent implements ReactComponent { static $cid: string; static normalize: typeof normalizeChildren; static functionalWrapper: typeof functionalWrapper; static contextType: import("react").Context | null>; static FakePromise: typeof FakePromise; static $doubleVNodes: boolean; context: any; state: any; props: IntactReactProps; isReactComponent: boolean; $promises: FakePromises; $reactProviders: Map, any>; $parentPromises: FakePromises | null; private $elementRef; private $elementAlternateRef; private $isReact; private $parentElement; private $pendingUnmount?; constructor(props: IntactReactProps, context: any); constructor(props: Props> | null, $vNode: VNodeComponentClass, $SVG: boolean, $mountedQueue: Function[], $senior: Component | null); render(): ReactElement> | ReactElement>[]; componentDidMount(): void; componentDidUpdate(): void; componentWillUnmount(): void; private $done; setState(): void; $mount(lastVNode: VNodeComponentClass | null, nextVNode: VNodeComponentClass): void; $unmount(vNode: VNodeComponentClass, nextVNode: VNodeComponentClass | null): void; }