import type { ValidationResult } from '@g-1/util'; import type { BaseRepository } from './base-repository.js'; export declare abstract class BaseService { protected repository: BaseRepository; constructor(repository: BaseRepository); /** * Validate required fields */ protected validateRequiredFields(data: Record, requiredFields: string[]): ValidationResult; /** * Validate email format */ protected validateEmail(email: string): ValidationResult; /** * Validate and normalize email */ protected validateAndNormalizeEmail(data: { email: string; }): ValidationResult<{ email: string; }>; /** * Validate pagination parameters */ protected validatePagination(params: { page?: number; limit?: number; }): ValidationResult; /** * Handle validation errors */ protected handleValidationError(validation: ValidationResult, _context?: Record): never; /** * Handle conflict errors */ protected handleConflictError(message: string, _details?: Record): never; /** * Ensure entity does not exist (throws conflict if it does) */ protected ensureNotExists(entity: T | null | undefined, message: string, details?: Record): void; /** * Ensure entity exists (throws not found if it doesn't) */ protected ensureExists(entity: T | null | undefined, message?: string): asserts entity is T; } //# sourceMappingURL=base-service.d.ts.map