/** * Global reactive configuration. * * Selects how observers are dispatched when a signal is written outside an * explicit {@link batch} (#210). * * @module bquery/reactive */ /** * How observers are dispatched after a signal write. * * - `'sync'` (default through 1.x) — every write notifies its observers * immediately. Effect timing is observable, so this stays the default for * the whole 1.x line. * - `'batched'` — writes are coalesced and flushed on a microtask, the same * way an explicit `batch()` coalesces them. This removes the glitches a * diamond dependency graph otherwise produces, and collapses a burst of * writes in one tick into a single effect run. */ export type ReactiveScheduler = 'sync' | 'batched'; interface ReactiveConfig { scheduler: ReactiveScheduler; } /** @internal */ export declare const setPendingDrain: (drain: () => void) => void; /** * Update the global reactive configuration. * * @example Opt into glitch-free, auto-batched effects * ```ts * import { configureReactive } from '@bquery/bquery/reactive'; * * configureReactive({ scheduler: 'batched' }); * ``` */ export declare const configureReactive: (options: Partial) => void; /** A snapshot of the current reactive configuration. */ export declare const getReactiveConfig: () => Readonly; /** * The scheduler in force right now. * @internal */ export declare const getScheduler: () => ReactiveScheduler; export {}; //# sourceMappingURL=config.d.ts.map