import type { IUserRepository } from '../../application/ports/outbound/IUserRepository.js'; import { User } from '../../domain/entities/User.js'; import { UserId } from '../../domain/value-objects/UserId.js'; import { Username } from '../../domain/value-objects/Username.js'; /** * YamlUserRepository * Implements IUserRepository using YAML file storage */ export declare class YamlUserRepository implements IUserRepository { private static readonly SALT_ROUNDS; private readonly filePath; /** * Create a new YamlUserRepository * @param filePath - Path to the YAML file for user storage */ constructor(filePath: string); /** * Find a user by their unique ID */ findById(id: UserId): Promise; /** * Find a user by their username */ findByUsername(username: Username): Promise; /** * Get all users in the system */ findAll(): Promise; /** * Save a user (create or update) */ save(user: User): Promise; /** * Delete a user by their ID */ delete(id: UserId): Promise; /** * Get the total count of users */ count(): Promise; /** * Hash a password using bcrypt * @param password - Plain text password to hash * @returns Hashed password */ hashPassword(password: string): Promise; /** * Verify a password against a hash * @param password - Plain text password to verify * @param hash - Password hash to verify against * @returns True if password matches, false otherwise */ verifyPassword(password: string, hash: string): Promise; /** * Load users from YAML file */ private loadUsers; /** * Save users to YAML file */ private saveUsers; /** * Convert YAML user data to User entity */ private toUser; } //# sourceMappingURL=YamlUserRepository.d.ts.map