/** * Client Event Factory * Creates and emits client-related events with type safety */ import type { ClientConflictEvent, ClientDebugEvent, ClientCreatedEvent, RequestStartEvent, ResponseReceivedEvent, RetryAttemptEvent, EmitRetryAttemptOptions, EmitResponseReceivedOptions, EventOptions, ConfigConflict, DebugInfo } from '@plyaz/types/api'; import { BaseEventFactory } from './base'; import type { EventEmitter } from '../../pubsub'; /** * Factory for creating client events */ export declare class ClientEventFactory extends BaseEventFactory<'client'> { constructor(emitter: EventEmitter); /** * Emit client conflict event */ emitConflict(conflict: ConfigConflict, options?: EventOptions): ClientConflictEvent; /** * Emit client debug event */ emitDebug(debugInfo: DebugInfo, options?: EventOptions): ClientDebugEvent; /** * Emit client created event */ emitCreated(clientId: string, config: Record, options?: EventOptions): ClientCreatedEvent; /** * Emit request start event */ emitRequestStart(url?: string, method?: string, options?: EventOptions): RequestStartEvent; /** * Emit response received event */ emitResponseReceived(options?: EmitResponseReceivedOptions): ResponseReceivedEvent; /** * Emit retry attempt event */ emitRetryAttempt(options: EmitRetryAttemptOptions): RetryAttemptEvent; } /** * Get singleton client event factory * @param emitter - The event emitter to use (optional, defaults to shared emitter) */ export declare function getClientEventFactory(emitter?: EventEmitter): ClientEventFactory; //# sourceMappingURL=client.d.ts.map