import type { BridgeInterface, InputFlowInterface, OperatorInterface, OutputFlowInterface, PushableTransferInterface, TriggerableInterface, SubscribableTransferInterface, DisposableInterface, GateInterface, LinkStrategyInterface, AsyncInputFlowInterface, AsyncOutputFlowInterface, AsyncOperatorInterface, AsyncTriggerableInterface, BaseTransferInterface } from "./interfaces"; import type { BaseSelectorKey, DuplexTransfer, ErrorHandler, InputTransfer, OutputTransfer, SelectorKey, DataFetcher, DataHandler, AsyncDataHandler, AsyncDataFetcher, TickerCallback, TickerFactory, Transfer, AsyncPushable, Subscribable } from "./types"; import type { AsyncConditionTransfer, AsyncConvertTransfer, AsyncIdlePollingTransfer, AsyncPollingFlowTransfer, AsyncPollingProxyTransfer, AsyncPollingSourceTransfer, AsyncReadTransfer, AsyncSinkTransfer, AsyncStoredChannelTransfer, AsyncWriteTransfer, ChannelTransfer, ConditionTransfer, ConvertTransfer, IdlePollingTransfer, PollingFlowTransfer, PollingProxyTransfer, PollingSourceTransfer, ReadTransfer, SinkTransfer, StoredChannelTransfer, DisplaceTransfer, WriteTransfer } from "./transfers"; /** * Configuration for Ticker — callback and optional interval (ms). * @category Configs */ export type TickerConfig = { readonly callback: TickerCallback; readonly interval?: number; }; /** * Configuration for gate-enabled transfers — initial active state. * @category Configs */ export type GateConfig = { activated: boolean; }; /** * Shared error-handling config — optional onError callback. * @category Configs */ export type ErrorHandlingConfig = { readonly onError?: ErrorHandler; }; /** * Shared backpressure configuration — concurrency limit, buffer size, and overflow callback. * @category Configs */ export type BackpressureConfig = { readonly maxConcurrency?: number; readonly bufferSize?: number; readonly onBufferOverflow?: DataHandler; }; /** * Configuration for BaseStateTransfer — optional initial value. * @category Configs */ export type BaseStateTransferConfig = { initialValue?: T; }; /** * Configuration for DelayedPushChannelTransfer — delay before emitting data (ms). * @category Configs */ export type DelayedPushChannelTransferConfig = { readonly delay: number; }; /** * Configuration for DebounceTransfer — silence period before emitting data (ms). * @category Configs */ export type DebounceTransferConfig = { readonly delay: number; }; /** * Configuration for ThrottleTransfer — minimum interval between emissions (ms). * @category Configs */ export type ThrottleTransferConfig = { readonly interval: number; }; /** * Alias for GateConfig — used by GateTransfer. * @category Configs */ export type GateTransferConfig = GateConfig; /** * Configuration for MergeTransfer — array of subscribable sources to merge. * @category Configs */ export type MergeTransferConfig = { sources: SubscribableTransferInterface[]; }; /** * Configuration for SplitTransfer — array of pushable targets to broadcast to. * @category Configs */ export type SplitTransferConfig = { targets: PushableTransferInterface[]; }; /** * Configuration for polling proxy transfers — interval, gate state, optional ticker factory and error handler. * @category Configs */ export type PollingProxyTransferConfig = GateConfig & ErrorHandlingConfig> & { readonly interval: number; readonly tickerFactory?: TickerFactory; }; /** * Configuration for PollingSourceTransfer — polling proxy config plus a sync fetcher. * @category Configs */ export type PollingSourceTransferConfig = GateConfig & ErrorHandlingConfig> & { readonly interval: number; readonly fetcher: DataFetcher; readonly tickerFactory?: TickerFactory; }; /** * Configuration for SinkTransfer — callback invoked on each incoming data, with optional error handler. * @category Configs */ export type SinkTransferConfig = ErrorHandlingConfig> & { readonly callback: DataHandler; }; /** * Configuration for ChannelTransfer — external setup/destroy callbacks with per-stage error handlers. * @category Configs */ export type ChannelTransferConfig = ErrorHandlingConfig> & { readonly setup: (emit: DataHandler) => void; readonly destroy: () => void; readonly onDestroyError?: ErrorHandler>; }; /** * Configuration for StoredChannelTransfer — channel config plus optional initial value. * @category Configs */ export type StoredChannelTransferConfig = BaseStateTransferConfig & ErrorHandlingConfig> & { readonly setup: (emit: DataHandler) => void; readonly destroy: () => void; readonly onDestroyError?: ErrorHandler>; }; /** * Configuration for WriteTransfer — target flow with write() and optional error handler. * @category Configs */ export type WriteTransferConfig = ErrorHandlingConfig> & { readonly flow: InputFlowInterface; }; /** * Configuration for ReadTransfer — source flow with read() and optional error handler. * @category Configs */ export type ReadTransferConfig = ErrorHandlingConfig> & { readonly flow: OutputFlowInterface; }; /** * Configuration for ConvertTransfer — operator for data transformation and optional error handler. * @category Configs */ export type ConvertTransferConfig = ErrorHandlingConfig> & { readonly operator: OperatorInterface; }; /** * Configuration for ConditionTransfer — optional input/output predicates and per-stage error handlers. * @category Configs */ export type ConditionTransferConfig = { readonly shouldAccept?: (incomingData: T) => boolean; readonly shouldEmit?: (data: T) => boolean; readonly onAcceptError?: ErrorHandler>; readonly onEmitError?: ErrorHandler>; }; /** * Configuration for DisplaceTransfer — factory that creates a new inner async-pushable + subscribable transfer per input value. * @category Configs */ export type DisplaceTransferConfig> = ErrorHandlingConfig> & { readonly factory: () => TInner; readonly onDisplace?: (displaced: TInner) => void; }; /** * Configuration for PollingFlowTransfer — polling proxy config plus an output flow source. * @category Configs */ export type PollingFlowTransferConfig = GateConfig & ErrorHandlingConfig> & { readonly interval: number; readonly flow: OutputFlowInterface; readonly tickerFactory?: TickerFactory; }; /** * Configuration for IdlePollingTransfer — fetcher, idle timeout, polling interval, gate state, and optional initial value. * @category Configs */ export type IdlePollingTransferConfig = BaseStateTransferConfig & ErrorHandlingConfig> & GateConfig & { readonly interval: number; readonly fetcher: DataFetcher; readonly timeout: number; readonly tickerFactory?: TickerFactory; }; /** * Configuration for async polling proxy transfers — interval, gate state, optional ticker factory and error handler. * @category Configs */ export type AsyncPollingProxyTransferConfig = GateConfig & ErrorHandlingConfig> & { readonly interval: number; readonly tickerFactory?: TickerFactory; }; /** * Configuration for AsyncPollingSourceTransfer — async polling config plus an async fetcher. * @category Configs */ export type AsyncPollingSourceTransferConfig = GateConfig & ErrorHandlingConfig> & { readonly interval: number; readonly fetcher: AsyncDataFetcher; readonly tickerFactory?: TickerFactory; }; /** * Configuration for AsyncPollingFlowTransfer — async polling config plus an async output flow source. * @category Configs */ export type AsyncPollingFlowTransferConfig = GateConfig & ErrorHandlingConfig> & { readonly interval: number; readonly flow: AsyncOutputFlowInterface; readonly tickerFactory?: TickerFactory; }; /** * Configuration for AsyncIdlePollingTransfer — async fetcher, idle timeout, polling interval, gate state, and optional initial value. * @category Configs */ export type AsyncIdlePollingTransferConfig = BaseStateTransferConfig & ErrorHandlingConfig> & GateConfig & { readonly interval: number; readonly fetcher: AsyncDataFetcher; readonly timeout: number; readonly tickerFactory?: TickerFactory; }; /** * Configuration for AsyncSinkTransfer — sync or async callback invoked on each incoming data, with optional error handler, backpressure, and ordered execution. * @category Configs */ export type AsyncSinkTransferConfig = ErrorHandlingConfig> & BackpressureConfig & { readonly callback: AsyncDataHandler | DataHandler; /** * When true, callback invocations are executed sequentially in data-arrival * order, regardless of their async duration. Default: false (unordered, * backward-compatible). */ readonly ordered?: boolean; }; /** * Configuration for AsyncWriteTransfer — async or sync target flow with write(), optional error handler, backpressure, and ordered execution. * @category Configs */ export type AsyncWriteTransferConfig = ErrorHandlingConfig> & BackpressureConfig & { readonly flow: AsyncInputFlowInterface | InputFlowInterface; /** * When true, flow.write() invocations are executed sequentially in * data-arrival order, regardless of their async duration. * Default: false (unordered, backward-compatible). */ readonly ordered?: boolean; }; /** * Configuration for AsyncReadTransfer — async or sync source flow with read() and optional error handler. * @category Configs */ export type AsyncReadTransferConfig = ErrorHandlingConfig> & { readonly flow: AsyncOutputFlowInterface | OutputFlowInterface; }; /** * Configuration for AsyncConvertTransfer — async operator for data transformation, optional error handler and backpressure. * @category Configs */ export type AsyncConvertTransferConfig = ErrorHandlingConfig> & BackpressureConfig & { readonly operator: AsyncOperatorInterface; }; /** * Configuration for AsyncConditionTransfer — optional sync/async input/output predicates, per-stage error handlers and backpressure. * @category Configs */ export type AsyncConditionTransferConfig = BackpressureConfig & { readonly shouldAccept?: (incomingData: T) => Promise | boolean; readonly shouldEmit?: (data: T) => Promise | boolean; readonly onAcceptError?: ErrorHandler>; readonly onEmitError?: ErrorHandler>; }; /** * Configuration for AsyncStoredChannelTransfer — channel config with async pull/trigger interface plus optional initial value. * @category Configs */ export type AsyncStoredChannelTransferConfig = BaseStateTransferConfig & ErrorHandlingConfig> & { readonly setup: (emit: DataHandler) => void; readonly destroy: () => void; readonly onDestroyError?: ErrorHandler>; }; /** * Configuration for UniversalCompositeTransfer — combines input/output transfers with optional explicit trigger/gate and owned resources. * @category Configs */ export type CompositeTransferConfig = { readonly input: InputTransfer; readonly output: OutputTransfer; readonly triggerable?: TriggerableInterface; readonly asyncTriggerable?: AsyncTriggerableInterface; readonly gate?: GateInterface; readonly owned?: readonly DisposableInterface[]; }; /** * Configuration for PassBridge — source, target, and initial gate state. * @category Configs */ export type PassBridgeConfig = { readonly source: OutputTransfer; readonly target: InputTransfer; readonly activated: boolean; readonly linkStrategy?: LinkStrategyInterface; }; /** * Configuration for TransformBridge — source, target, sync operator, and initial gate state. * @category Configs */ export type TransformBridgeConfig = { readonly source: OutputTransfer; readonly target: InputTransfer; readonly operator: OperatorInterface; readonly activated: boolean; readonly linkStrategy?: LinkStrategyInterface; }; /** * Configuration for TransferBridge — source, target, intermediate duplex transfer, ownership flag, and initial gate state. * @category Configs */ export type TransferBridgeConfig = { readonly source: OutputTransfer; readonly target: InputTransfer; readonly middle: DuplexTransfer; readonly middleOwned: boolean; readonly activated: boolean; readonly linkStrategy?: LinkStrategyInterface; }; /** * Configuration for BridgeAggregator — bridges array, initial gate state, and ownership flag. * @category Configs */ export type BridgeAggregatorConfig = { readonly bridges: BridgeInterface[]; readonly activated: boolean; readonly owned: boolean; }; /** * Configuration for BridgeSelector — bridge map, initial selected key, gate state, and ownership flag. * @category Configs */ export type BridgeSelectorConfig> = { readonly bridges: TMap; readonly initialKey: SelectorKey; readonly activated: boolean; readonly owned: boolean; readonly syncWithChildren?: boolean; }; /** * Configuration for BridgeMultiSelector — bridge map, initial selected keys, gate state, and ownership flag. * @category Configs */ export type BridgeMultiSelectorConfig> = { readonly bridges: TMap; readonly initialKeys: SelectorKey[]; readonly activated: boolean; readonly owned: boolean; readonly syncWithChildren?: boolean; }; /** * Configuration for AsyncTransformBridge — source, target, async operator, gate state, and optional error handler. * @category Configs */ export type AsyncTransformBridgeConfig = ErrorHandlingConfig> & { readonly source: OutputTransfer; readonly target: InputTransfer; readonly operator: AsyncOperatorInterface; readonly activated: boolean; readonly linkStrategy?: LinkStrategyInterface; }; /** * Configuration for linkTransfers() — provides an optional error handler for async-push rejection. * @category Configs */ export type LinkConfig = { readonly onError?: ErrorHandler; }; //# sourceMappingURL=configs.d.ts.map