import React from 'react'; import hoistNonReactStatic from 'hoist-non-react-statics'; import type { RendererConfig } from 'jamis-core'; import type { FormControlComponent, FormItemBasicConfig, FormItemConfig } from './types'; export declare const detectProps: string[]; export declare function asFormItem(config: Omit): (Control: FormControlComponent) => { new (props: Omit | Readonly>): { context: React.ContextType; render(): JSX.Element; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly, "rootStore">>>) => (Pick<{}, K> | {} | null)) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly, "rootStore">>>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, "rootStore">>>, prevState: Readonly<{}>): any | null; componentDidUpdate?(prevProps: Readonly, "rootStore">>>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, "rootStore">>>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, "rootStore">>>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): void; }; new (props: Omit, context: any): { context: React.ContextType; render(): JSX.Element; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly, "rootStore">>>) => (Pick<{}, K> | {} | null)) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly, "rootStore">>>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, "rootStore">>>, prevState: Readonly<{}>): any | null; componentDidUpdate?(prevProps: Readonly, "rootStore">>>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, "rootStore">>>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, "rootStore">>>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): void; }; displayName: `WithRootStore(${string})`; contextType: React.Context>; ComposedComponent: React.ComponentType; } & hoistNonReactStatic.NonReactStatics & { ComposedComponent: any; } & { ComposedComponent: any; }; export declare function registerFormItem(config: FormItemConfig): RendererConfig; export declare function FormItem(config: FormItemBasicConfig): (component: FormControlComponent) => any; export declare function getFormItemByName(name: string): boolean;