import { HKT, URIS, Kind, Kind2, URIS2 } from 'fp-ts/lib/HKT'; import { MonadObservable, MonadObservable1, MonadObservable2 } from '@devexperts/utils/dist/typeclasses/monad-observable/monad-observable'; import { ComponentClass, ComponentType } from 'react'; import { Alternative2, Alternative1, Alternative } from 'fp-ts/lib/Alternative'; export declare type Observify = { readonly [K in keyof P]: HKT; }; export declare type Observify1 = { readonly [K in keyof P]: Kind; }; export declare type Observify2 = { readonly [K in keyof P]: Kind2; }; export interface WithObservableSelectorResult> { props?: Partial>; defaultProps?: D; effects$?: HKT; } export interface WithObservableSelectorResult1> { props?: Partial>; defaultProps?: D; effects$?: Kind; } export interface WithObservableSelectorResult2, E> { props?: Partial>; defaultProps?: D; effects$?: Kind2; } export interface WithObservable {

(Target: ComponentType

): >(selector: (props$: HKT>) => WithObservableSelectorResult) => ComponentClass & Partial>; } export interface WithObservable1 {

(Target: ComponentType

): >(selector: (props$: Kind>) => WithObservableSelectorResult1) => ComponentClass & Partial>; } export interface WithObservable2 {

(Target: ComponentType

): >(selector: (props$: Kind2>) => WithObservableSelectorResult2) => ComponentClass & Partial>; } export declare function withObservable(M: MonadObservable2 & Alternative2): WithObservable2; export declare function withObservable(M: MonadObservable1 & Alternative1): WithObservable1; export declare function withObservable(M: MonadObservable & Alternative): WithObservable;