import type { BridgeState } from '../runtime/bridge'; import type { Prefs } from '../runtime/prefs'; import type { SourceAdapter } from './source-contract'; /** What the poller needs from the composition root that owns the bridge. */ export interface SourcePollerDeps { setState: (patch: Partial) => void; getState: () => BridgeState; getPrefs: () => Prefs; } /** Props one source's scheduler receives from the collector. */ export interface SourcePollerProps { adapter: SourceAdapter; /** Is a turn running? A true → false edge is the `settle` trigger. */ running: boolean; /** Is the rail on screen? Read by `schedule.railOpen`. */ railOpen: boolean; } /** Build the scheduler component bound to one bridge. */ export declare function createSourcePoller(deps: SourcePollerDeps): (props: SourcePollerProps) => null;