import React from 'react'; interface ComponentRender { (props: T, options: { destroy: () => void; }): React.ReactElement; } export declare function createRenderToBody(componentRender: ComponentRender): (initializeProps: T, params?: { parentContainer?: HTMLElement; onDestroy?: () => void; }) => { destroy: () => void; updateProps: (newProps: T) => void; }; export declare function createRenderToClassComponent(componentRender: ComponentRender): { new (props: Readonly): { container: HTMLElement | null; appendComponentResult: null | ReturnType<(initializeProps: T, params?: { parentContainer?: HTMLElement; onDestroy?: (() => void) | undefined; }) => { destroy: () => void; updateProps: (newProps: T) => void; }>; componentDidMount(): void; componentDidUpdate(): void; componentWillUnmount(): void; render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; shouldComponentUpdate?(nextProps: Readonly, nextState: Readonly<{}>, nextContext: any): boolean; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, prevState: Readonly<{}>): any; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, nextState: Readonly<{}>, nextContext: any): void; }; new (props: T, context?: any): { container: HTMLElement | null; appendComponentResult: null | ReturnType<(initializeProps: T, params?: { parentContainer?: HTMLElement; onDestroy?: (() => void) | undefined; }) => { destroy: () => void; updateProps: (newProps: T) => void; }>; componentDidMount(): void; componentDidUpdate(): void; componentWillUnmount(): void; render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; shouldComponentUpdate?(nextProps: Readonly, nextState: Readonly<{}>, nextContext: any): boolean; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, prevState: Readonly<{}>): any; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, nextState: Readonly<{}>, nextContext: any): void; }; contextType?: React.Context; }; export {}; //# sourceMappingURL=index.d.ts.map