import * as React from "react"; import { Observable } from "rxjs"; import { Store } from "../src/store"; import { ActionMap } from "./actions"; export declare type ExtractProps = TComponentOrTProps extends React.ComponentType ? TProps : TComponentOrTProps; export interface ConnectResult { props?: Observable; actionMap?: ActionMap; } export declare type ConnectCallback = (store: Store, inputProps: Observable) => ConnectResult; export interface ConnectState { connectedProps?: Partial; ready: boolean; } /** * Connects a Component's props to a set of props of the application state coming from a Store object. */ export declare function connect(ComponentToConnect: React.ComponentType, connectCallback: ConnectCallback, TInputProps>): { new (props: any): { render(): JSX.Element; context: any; setState(state: ConnectState | ((prevState: Readonly>, props: Readonly>) => ConnectState | 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; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly>, nextState: Readonly>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly>, prevState: Readonly>): any; componentDidUpdate?(prevProps: Readonly>, prevState: Readonly>, snapshot?: any): void; 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 | undefined; };