import { Observer, Observable } from "rxjs"; import { ExtractProps } from "./connect"; export declare type FunctionPropertyNames = { [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]; export declare type FunctionProperties = Pick>; export declare type UnaryFunction = (t: T, ...args: any[]) => any; export declare type ActionFunction = (...args: any[]) => any; export declare type ActionMap = { [P in keyof FunctionProperties>]?: ActionFunction | Observer>[P] extends UnaryFunction ? A : never>; }; /** * A map specifying which property on the components state should be populated with * the value of the map value (=Observable) * * @example * const map = { * secondsPassed: Observable.interval(1000) * } */ export declare type UnpackMap = { [P in keyof TComponentState]?: Observable; }; export declare function assembleActionProps(actionMap: ActionMap): Partial;