/** * Internal types for FlashQ client modules */ import type { ClientOptions, Job, JobState, JobWithState, PushOptions, QueueInfo, QueueStats, Metrics, CronJob, CronOptions, JobLogEntry, FlowChild, FlowResult, BatchPushResult } from '../types'; import type { ClientHooks } from '../hooks'; /** Client options with required fields except hooks */ export type ResolvedClientOptions = Required> & { hooks?: ClientHooks; }; /** * Interface for the internal send method. * Used by all modules to communicate with the server. */ export interface IFlashQClient { /** Send a command to the server */ send(command: Record, customTimeout?: number): Promise; /** Client options */ readonly options: ResolvedClientOptions; /** Client hooks for observability */ readonly hooks?: ClientHooks; } /** * Flow options for parent job */ export interface FlowOptions { /** Job priority (higher = processed first) */ priority?: number; } export type { ClientOptions, Job, JobState, JobWithState, PushOptions, QueueInfo, QueueStats, Metrics, CronJob, CronOptions, JobLogEntry, FlowChild, FlowResult, BatchPushResult, }; //# sourceMappingURL=types.d.ts.map