import { IUser, IUserArgs } from './IUser';

export interface IUserApp {
    save(user: IUserArgs): Promise<IUser>;
    find(query: any, options: { limit: number }): Promise<IUser[]>;

    authenticateUser(userNameOrEmail: string, password: string): Promise<IUser>;
    getAuthToken(userNameOrEmail: string, password: string): Promise<IUser>;
    verifyAuthToken(token: string): Promise<IUser>;
    hashPassword(user: IUser): Promise<IUser>;
}

import { IUser } from './IUser';

export interface IUserApp {
    save(user: IUser): Promise<IUser>;
    find(query: any, options: { limit: number }): Promise<IUser[]>;

    authenticateUser(userNameOrEmail: string, password: string): Promise<IUser>;
    getAuthToken(userNameOrEmail: string, password: string): Promise<IUser>;
    verifyAuthToken(token: string): Promise<IUser>;
    hashPassword(user: IUser): Promise<IUser>;
}

--- 
+++ 
@@ -1,7 +1,7 @@
-import { IUser } from './IUser';
+import { IUser, IUserArgs } from './IUser';
 
 export interface IUserApp {
-    save(user: IUser): Promise<IUser>;
+    save(user: IUserArgs): Promise<IUser>;
     find(query: any, options: { limit: number }): Promise<IUser[]>;
 
     authenticateUser(userNameOrEmail: string, password: string): Promise<IUser>;
Change IUserApp.save param from IUser to IUser
