/** * Base class for business exceptions * * Use this to throw errors with business-specific error codes. * These exceptions are automatically handled by the ApiExceptionFilter. * * @example * ```typescript * throw new BusinessException(BusinessCode.USER_NOT_FOUND, 'User does not exist'); * ``` */ export declare class BusinessException extends Error { readonly businessCode: number; readonly statusCode: number; readonly details?: Record | undefined; constructor(businessCode: number, message?: string, statusCode?: number, details?: Record | undefined); } /** * Exception for validation errors * * @example * ```typescript * throw new ValidationException({ * email: 'Invalid email format', * age: 'Must be at least 18' * }); * ``` */ export declare class ValidationException extends BusinessException { constructor(details: Record, message?: string); } /** * Exception for authentication errors * * @example * ```typescript * throw new AuthException(BusinessCode.TOKEN_EXPIRED, 'Your session has expired'); * ``` */ export declare class AuthException extends BusinessException { constructor(businessCode?: number, message?: string); } /** * Exception for permission/authorization errors * * @example * ```typescript * throw new ForbiddenException('You do not have permission to access this resource'); * ``` */ export declare class ForbiddenException extends BusinessException { constructor(message?: string); } /** * Exception for resource not found errors * * @example * ```typescript * throw new NotFoundException('User not found', BusinessCode.USER_NOT_FOUND); * ``` */ export declare class NotFoundException extends BusinessException { constructor(message?: string, businessCode?: number); } /** * Exception for conflict errors (e.g., duplicate resources) * * @example * ```typescript * throw new ConflictException('Email already exists', BusinessCode.EMAIL_ALREADY_EXISTS); * ``` */ export declare class ConflictException extends BusinessException { constructor(message?: string, businessCode?: number); } /** * Exception for rate limiting * * @example * ```typescript * throw new RateLimitException('Too many login attempts'); * ``` */ export declare class RateLimitException extends BusinessException { constructor(message?: string); } /** * Exception for internal server errors * * @example * ```typescript * throw new InternalServerException('Database connection failed', BusinessCode.DATABASE_ERROR); * ``` */ export declare class InternalServerException extends BusinessException { constructor(message?: string, businessCode?: number); } /** * Exception for bad request errors * * @example * ```typescript * throw new BadRequestException('Invalid request parameters'); * ``` */ export declare class BadRequestException extends BusinessException { constructor(message?: string, businessCode?: number); } /** * Exception for service unavailable errors * * @example * ```typescript * throw new ServiceUnavailableException('Service is under maintenance'); * ``` */ export declare class ServiceUnavailableException extends BusinessException { constructor(message?: string, businessCode?: number); } //# sourceMappingURL=exceptions.d.ts.map