import { TargetResolver } from "easy-peasy";
import { ToStoreType } from "./types";
export declare const Model: ClassDecorator;
export declare const Property: PropertyDecorator;
export declare const Child: PropertyDecorator;
export declare const Action: MethodDecorator;
export declare const Computed: MethodDecorator;
export declare const Thunk: MethodDecorator;
/**
 * equiv thunkOn
 *
 * @example
 * \@Listener<UserTableModel,StoreModel>((actions, storeActions)=>  [storeActions.userPage.lstCities.setValue])
 * shouldRefresh(target){
 *     this.resfresh();
 * }
 */
export declare function Listener<Model extends object, StoreModel extends object = {}>(actionFn: TargetResolver<ToStoreType<Model>, ToStoreType<StoreModel>>): MethodDecorator;
