mobx-wouter
Version:
<img src="assets/logo.png" align="right" height="156" alt="logo" />
8 lines • 1.35 kB
TypeScript
import { AnyViewModel, ViewModelHocConfig, ViewModelInputProps, ViewModelProps } from 'mobx-view-model';
import { ComponentType, ReactNode } from 'react';
import type { AnyObject, Class, RenameKey } from 'yummies/utils/types';
export type PageViewModelProps<VM extends AnyViewModel> = ViewModelProps<VM>;
export type ComponentWithPageViewModel<TViewModel extends AnyViewModel, TComponentOriginProps extends AnyObject = ViewModelProps<TViewModel>> = (props: Omit<TComponentOriginProps, 'model'> & RenameKey<ViewModelInputProps<TViewModel>, 'payload', 'params'>) => ReactNode;
export declare function withPageViewModel<TViewModel extends AnyViewModel, TComponentOriginProps extends AnyObject = PageViewModelProps<TViewModel>>(model: Class<TViewModel>, component: ComponentType<TComponentOriginProps & PageViewModelProps<TViewModel>>, config?: ViewModelHocConfig<TViewModel>): ComponentWithPageViewModel<TViewModel, TComponentOriginProps>;
export declare function withPageViewModel<TViewModel extends AnyViewModel>(model: Class<TViewModel>, config?: ViewModelHocConfig<TViewModel>): <TComponentOriginProps extends AnyObject = PageViewModelProps<TViewModel>>(Component?: ComponentType<TComponentOriginProps & PageViewModelProps<TViewModel>>) => ComponentWithPageViewModel<TViewModel, TComponentOriginProps>;
//# sourceMappingURL=with-page-view-model.d.ts.map