import { type ColorSchemeName, type LayoutRectangle } from "react-native"; import type { StyleDescriptor } from "react-native-css/compiler"; export type Effect = { observers: Set; run(): void; }; export type Observable = { observers: Set; get: (effect?: Effect) => Value; set: (arg: Arg) => void; run: () => void; }; type Read = (get: Getter, arg?: Arg) => Value; export type Getter = (observable: Observable) => Value; export declare const observableBatch: { current?: Set; }; export declare function observable(init: Value | Read, equality?: (value1: Value, value2: Value) => boolean): Observable; export declare function cleanupEffect(effect: Effect): void; /** Family Helpers ************************************************************/ export declare function family(fn: (key: Key, args: Args) => Result): ((key: Key, args: Args) => Result) & { delete(key: Key): boolean; clear(): void; }; type WeakFamilyFn = ((key: Key, args: Args) => Result) & { has(key: Key): boolean; }; export declare function weakFamily(fn: (key: Key) => Result): WeakFamilyFn; export declare function weakFamily(fn: (key: Key, args: Args) => Result): WeakFamilyFn; /********************************* Variables **********************************/ export declare const VAR_SYMBOL: unique symbol; export type VariableContextValue = Record & { [VAR_SYMBOL]: true; }; /** Pseudo Classes ************************************************************/ export declare const hoverFamily: WeakFamilyFn>; export declare const activeFamily: WeakFamilyFn>; export declare const focusFamily: WeakFamilyFn>; /** Dimensions ****************************************************************/ export declare const dimensions: Observable; export declare const vw: Observable; export declare const vh: Observable; /** Color Scheme **************************************************************/ export declare const colorScheme: Observable; /** Containers ****************************************************************/ export type ContainerContextValue = Record; export declare const ContainerContext: import("react").Context; export declare const containerLayoutFamily: WeakFamilyFn>; export declare const containerWidthFamily: WeakFamilyFn>; export declare const containerHeightFamily: WeakFamilyFn>; export {}; //# sourceMappingURL=reactivity.d.ts.map