export { Derived, Watcher, isDerived, no, noto, o, watch, when } from './shared/c7f3bced'; import { ObserverTarget, Auto, Change, AutoObserver } from './shared/ed456245'; export { $$, $O, $T, Auto, AutoConfig, Change, ChangeObserver, Observable, ObservedSlot, Observer, ObserverTarget, auto, shallowChanges } from './shared/ed456245'; declare type OnRender = (auto: Auto, depth: number, component: React.FunctionComponent) => void; declare type Globals = { /** Notify the current observer. */ observe: ((target: ObserverTarget, key: any) => void) | null; /** The `Auto` object for the current `withAuto` component being rendered. */ auto: Auto | null; /** For debugging re-renders. Only called in development. */ onRender: OnRender | null; /** For spying on every change event. */ onChange: ((change: Change) => void) | null; }; declare const globals: Globals; /** * Flush the queue of delayed reactions. * * Returns `true` if the queue wasn't flushed entirely. * * Useful when testing `wana`-integrated components/hooks. */ declare function flushSync(): boolean; interface Props { observer?: AutoObserver; mounted?: boolean; } /** * Call the returned function to set the "mounting state" for the * given `Auto` object. Observation is postponed until mounted. */ declare function mountAuto(auto: Auto): (props: Props) => void; declare const ObjectTraps: ProxyHandler; export { ObjectTraps, flushSync, globals, mountAuto };