/** * Errors Event Factory * Creates and emits errors-related events with type safety */ import type { ErrorEvent, GenericErrorEvent, NetworkErrorEvent, ValidationErrorEvent, AuthenticationErrorEvent, AuthorizationErrorEvent, NotFoundErrorEvent, ConflictErrorEvent, ClientErrorEvent, ServerErrorEvent, TimeoutErrorEvent, RateLimitErrorEvent, CacheErrorEvent, HeadersErrorEvent, RetryErrorEvent, ExternalServiceErrorEvent, EventOptions, EmitNetworkErrorOptions, EmitValidationErrorOptions, EmitRateLimitErrorOptions, EmitServerErrorOptions, EmitTimeoutErrorOptions, EmitAuthorizationErrorOptions, EmitConflictErrorOptions, EmitClientErrorOptions, EmitExternalServiceErrorOptions, EmitRetryErrorOptions } from '@plyaz/types/api'; import { BaseEventFactory } from './base'; import type { EventEmitter } from '../../pubsub'; import type { PackageErrorLike } from '@plyaz/types/api'; /** * Factory for creating error events */ export declare class ErrorEventFactory extends BaseEventFactory<'errors'> { constructor(emitter: EventEmitter); /** * Create and emit a generic error event */ emitGenericError(error: PackageErrorLike, options?: EventOptions): GenericErrorEvent; /** * Create and emit a network error event */ emitNetworkError(options: EmitNetworkErrorOptions): NetworkErrorEvent; /** * Create and emit a validation error event */ emitValidationError(options: EmitValidationErrorOptions): ValidationErrorEvent; /** * Create and emit an authentication error event */ emitAuthenticationError(error: PackageErrorLike, realm?: string, scheme?: string, options?: EventOptions): AuthenticationErrorEvent; /** * Create and emit a rate limit error event */ emitRateLimitError(options: EmitRateLimitErrorOptions): RateLimitErrorEvent; /** * Create and emit a server error event */ emitServerError(options: EmitServerErrorOptions): ServerErrorEvent; /** * Create and emit a timeout error event */ emitTimeoutError(options: EmitTimeoutErrorOptions): TimeoutErrorEvent; /** * Create and emit an authorization error event */ emitAuthorizationError(options: EmitAuthorizationErrorOptions): AuthorizationErrorEvent; /** * Create and emit a not found error event */ emitNotFoundError(error: PackageErrorLike, url?: string, resource?: string, options?: EventOptions): NotFoundErrorEvent; /** * Create and emit a conflict error event */ emitConflictError(options: EmitConflictErrorOptions): ConflictErrorEvent; /** * Create and emit a client error event */ emitClientError(options: EmitClientErrorOptions): ClientErrorEvent; /** * Create and emit an external service error event */ emitExternalServiceError(options: EmitExternalServiceErrorOptions): ExternalServiceErrorEvent; /** * Create and emit a cache error event */ emitCacheError(error: PackageErrorLike, operation?: string, key?: string, options?: EventOptions): CacheErrorEvent; /** * Create and emit a headers error event */ emitHeadersError(error: PackageErrorLike, header?: string, operation?: string, options?: EventOptions): HeadersErrorEvent; /** * Create and emit a retry error event */ emitRetryError(options: EmitRetryErrorOptions): RetryErrorEvent; /** * Emit error based on category */ emitByCategory(error: PackageErrorLike, additionalData?: Record, options?: EventOptions): ErrorEvent; /** * Create and emit a strategy error event */ emitStrategyError(error: PackageErrorLike, strategy: string, reason?: string, options?: EventOptions): ErrorEvent; /** * Create and emit a regional error event */ emitRegionalError(error: PackageErrorLike, region: string, fallbackRegion?: string, options?: EventOptions): ErrorEvent; /** * Create and emit an unknown error event */ emitUnknownError(error: PackageErrorLike, originalError?: unknown, context?: Record, options?: EventOptions): ErrorEvent; } //# sourceMappingURL=errors.d.ts.map