import { Signal } from "@preact/signals-core"; import type { Subscription } from 'rxjs'; import type { RxReactivityFactory, ReactivityLambda } from '../../types/index.d.ts'; /** * Type-level function (ReactivityLambda) for Preact signals. * Use this as the Reactivity type parameter for properly typed signals. * * @example * const db = await createRxDatabase({ * reactivity: PreactSignalsRxReactivityFactory * }); * const signal = doc.age$$; // Signal */ export interface PreactSignalReactivityLambda extends ReactivityLambda { readonly _result: Signal; } export type PreactSignal = Signal; /** * Exported to debug and test * the behavior */ export declare const PREACT_SIGNAL_STATE: { subscribeCount: number; signalBySubscription: WeakMap>; aliveSubscription: Set; }; export declare const PreactSignalsRxReactivityFactory: RxReactivityFactory;