import type { BuildInput } from 'rapiq';
import type { User } from '@authup/core-kit';
import { BaseAPI } from '../../base';
import type { EntityAPI, EntityCollectionResponse, EntityRecordResponse } from '../../types-base';
export declare class UserAPI extends BaseAPI implements EntityAPI<User> {
    getMany(options?: BuildInput<User>): Promise<EntityCollectionResponse<User>>;
    getOne(id: User['id'], options?: BuildInput<User>): Promise<EntityRecordResponse<User>>;
    delete(id: User['id']): Promise<EntityRecordResponse<User>>;
    create(data: Partial<User>): Promise<EntityRecordResponse<User>>;
    update(id: User['id'], data: Partial<User> & {
        password_repeat?: User['password'];
    }): Promise<EntityRecordResponse<User>>;
    createOrUpdate(idOrName: string, data: Partial<User> & {
        password_repeat?: User['password'];
    }): Promise<EntityRecordResponse<User>>;
    activate(token: string): Promise<User>;
    register(data: Partial<Pick<User, 'email' | 'name' | 'password' | 'realm_id'>>): Promise<User>;
    passwordForgot(data: Partial<Pick<User, 'email' | 'name' | 'realm_id'>>): Promise<User>;
    passwordReset(data: Partial<Pick<User, 'email' | 'name' | 'realm_id'>> & {
        token: string;
        password: string;
    }): Promise<User>;
}
//# sourceMappingURL=module.d.ts.map