import { Constructor } from '@adonisjs/core/types/common';
import { AKModelServiceClass, ModelPayload } from '../../crud/services/index.js';
import { AKUserModel } from './user.js';
export type AKUserServiceClass<UserModel extends typeof AKUserModel> = AKModelServiceClass<UserModel> & Constructor<{
    signup(email: string, password: string, userData: Partial<Omit<ModelPayload<InstanceType<UserModel>>, 'id' | 'email' | 'password'>>): Promise<InstanceType<UserModel>>;
    login(email: string, password: string): Promise<InstanceType<UserModel>>;
    findByEmail(email: string): Promise<InstanceType<UserModel> | undefined>;
    updatePassword(user: InstanceType<UserModel>, password: string): Promise<void>;
}>;
export declare const AKUserService: <UserModel extends typeof AKUserModel>(superclass: AKModelServiceClass<UserModel>) => AKUserServiceClass<UserModel>;
export declare const userService: <UserModel extends typeof AKUserModel>(m: UserModel) => AKUserServiceClass<UserModel>;
