import { type RefObject } from "react"; import type { View } from "react-native"; import { type ThemeValue } from "../theme.js"; import { type MaterialOptions, type MaterialResolution } from "./material-resolution.js"; export interface MaterialState { /** The theme as the provider set it: the requested surface mode, before resolution. */ theme: ThemeValue; /** What the surface renders (frost, Liquid Glass or the solid skin) and why it fell back. */ material: MaterialResolution; /** The capture plane the surface's context offers, ready or not: Android's demand signal. */ requestedTarget: RefObject | null; /** That plane once it can be sampled; null until then, and always off Android. */ target: RefObject | null; } /** * The one material decision for a surface. GlassSurface renders from it, GlassPane * mounts only where it is not solid, and `useMaterialTheme` hands it to the host that * paints around a pane, so a host and its pane always agree on whether the material * is there: a host that keeps its solid skin never gets a pane painted inside it. */ export declare function useMaterialResolution(options?: MaterialOptions): MaterialState; /** Shared effective appearance for a surface's fill, foreground, states and motion. */ export declare function useMaterialTheme(options?: MaterialOptions): ThemeValue; //# sourceMappingURL=use-material-theme.d.ts.map