import type { BridgeInterface, BridgeMultiSelectorInterface, BridgeSelectorInterface, GateInterface, GateTransferInterface, LinkStrategyInterface, SubscriberInterface } from "./interfaces"; import type { BaseSelectorKey, DataHandler, SelectorKey, InputTransfer, OutputTransfer, DuplexTransfer } from "./types"; import type { BridgeAggregatorConfig, BridgeMultiSelectorConfig, BridgeSelectorConfig, PassBridgeConfig, TransformBridgeConfig, TransferBridgeConfig, AsyncTransformBridgeConfig } from "./configs"; import { ConvertTransfer, AsyncConvertTransfer } from "./transfers"; import { StateSubscriptionManager } from "./helpers"; /** * Simple gated bridge — passes data from source to target through an internal GateTransfer. * * @category Bridges */ export declare class PassBridge implements BridgeInterface { protected readonly _source: OutputTransfer; protected readonly _target: InputTransfer; protected readonly _gate: GateTransferInterface; protected readonly _gateState: StateSubscriptionManager; protected readonly _linkStrategy: LinkStrategyInterface; protected _subscribers: SubscriberInterface[]; constructor(config: PassBridgeConfig); get active(): boolean; activate(): void; deactivate(): void; toggle(): boolean; onStateChange(handler: DataHandler): SubscriberInterface; destroy(): void; } /** * Gated bridge with synchronous data transformation — source → gate → converter → target. * * @category Bridges */ export declare class TransformBridge implements BridgeInterface { protected readonly _source: OutputTransfer; protected readonly _target: InputTransfer; protected readonly _converter: ConvertTransfer; protected readonly _gate: GateTransferInterface; protected readonly _gateState: StateSubscriptionManager; protected readonly _linkStrategy: LinkStrategyInterface; protected _subscribers: SubscriberInterface[]; constructor(config: TransformBridgeConfig); get active(): boolean; activate(): void; deactivate(): void; toggle(): boolean; onStateChange(handler: DataHandler): SubscriberInterface; destroy(): void; } /** * Gated bridge with an intermediate duplex transfer — source → gate → middle → target. * * @category Bridges */ export declare class TransferBridge implements BridgeInterface { protected readonly _source: OutputTransfer; protected readonly _target: InputTransfer; protected readonly _middle: DuplexTransfer; protected readonly _gate: GateTransferInterface; protected readonly _gateState: StateSubscriptionManager; protected readonly _middleOwned: boolean; protected readonly _linkStrategy: LinkStrategyInterface; protected _subscribers: SubscriberInterface[]; constructor(config: TransferBridgeConfig); get active(): boolean; activate(): void; deactivate(): void; toggle(): boolean; onStateChange(handler: DataHandler): SubscriberInterface; destroy(): void; } /** * Bridge with asynchronous data type transformation via AsyncOperator. * * Flow structure: source → gate → asyncConverter → target * * Gate and subscription remain synchronous. AsyncConvertTransfer receives * data via asyncPush (the gate→converter link uses the async strategy of * linkTransfers), transforms via await operator.apply() and notifies * subscribers synchronously. * * Configuration (AsyncTransformBridgeConfig): * - source: OutputTransfer * - target: InputTransfer * - operator: AsyncOperatorInterface * - activated: boolean * - onError?: ErrorHandler — operator error handler * * @category Async Bridges */ export declare class AsyncTransformBridge implements BridgeInterface { protected readonly _source: OutputTransfer; protected readonly _target: InputTransfer; protected readonly _converter: AsyncConvertTransfer; protected readonly _gate: GateTransferInterface; protected readonly _gateState: StateSubscriptionManager; protected readonly _linkStrategy: LinkStrategyInterface; protected _subscribers: SubscriberInterface[]; constructor(config: AsyncTransformBridgeConfig); get active(): boolean; activate(): void; deactivate(): void; toggle(): boolean; onStateChange(handler: DataHandler): SubscriberInterface; destroy(): void; } /** * Aggregator bridge — controls multiple bridges as a group. Active only when ALL nested bridges are active. * * @category Bridges */ export declare class BridgeAggregator implements BridgeInterface { protected _bridges: BridgeInterface[]; protected readonly _owned: boolean; protected readonly _gateState: StateSubscriptionManager; constructor(config: BridgeAggregatorConfig); get active(): boolean; activate(): void; deactivate(): void; toggle(): boolean; onStateChange(handler: DataHandler): SubscriberInterface; destroy(): void; } /** * Single-choice selector bridge — activates exactly one bridge from a map at a time. * * @category Bridges */ export declare class BridgeSelector> implements BridgeSelectorInterface { protected _bridges: TMap; protected _selectedKey: SelectorKey; protected _active: boolean; protected readonly _owned: boolean; protected readonly _gateState: StateSubscriptionManager; protected _subscribers: SubscriberInterface[]; protected _syncing: boolean; constructor(config: BridgeSelectorConfig); get active(): boolean; activate(): void; deactivate(): void; toggle(): boolean; onStateChange(handler: DataHandler): SubscriberInterface; destroy(): void; select(key: SelectorKey): void; get selectedKey(): SelectorKey; get selectedBridge(): BridgeInterface; protected _tryActivateBridge(key: SelectorKey): void; protected _deactivateBridges(): void; } /** * Multi-choice selector bridge — activates any subset of bridges from a map simultaneously. * * @category Bridges */ export declare class BridgeMultiSelector> implements BridgeMultiSelectorInterface { protected _bridges: TMap; protected _selectedKeys: Set>; protected _active: boolean; protected readonly _owned: boolean; protected readonly _gateState: StateSubscriptionManager; protected _subscribers: SubscriberInterface[]; protected _syncing: boolean; constructor(config: BridgeMultiSelectorConfig); get active(): boolean; activate(): void; deactivate(): void; toggle(): boolean; onStateChange(handler: DataHandler): SubscriberInterface; destroy(): void; select(keys: SelectorKey[]): void; get selectedKeys(): SelectorKey[]; get selectedBridges(): BridgeInterface[]; check(key: SelectorKey): void; uncheck(key: SelectorKey): void; protected _tryActivateBridges(keys: SelectorKey[] | Set>): void; protected _tryActivateBridge(key: SelectorKey): void; protected _deactivateBridges(): void; protected _deactivateBridge(key: SelectorKey): void; protected _selectKeys(keys: SelectorKey[]): void; protected _selectKey(key: SelectorKey): void; protected _unselectKey(key: SelectorKey): void; } //# sourceMappingURL=bridges.d.ts.map