import type { ThemeValue } from "../theme.js"; import type { GlassLayer } from "./glass-surface.shared.js"; export interface MaterialOptions { /** Explicit stable frame frost, independent of descendant control material. */ frosted?: boolean; /** A lightly frosted modal dim layer. */ veil?: boolean; /** Stable frost instead of functional Liquid Glass. Content defaults to frost. */ static?: boolean; layer?: GlassLayer; /** * A surface floating over the page (a bar, a dialog, a sheet, a popover, a toast). On * the web only these take the material: the v4 hand-off draws its glass on the chrome * and overlays that float, and paints every surface in the page opaque in either mode. */ floating?: boolean; } export interface MaterialCapabilities { platform: "web" | "ios" | "android" | "other"; frost: boolean; liquid: boolean; requiresTarget: boolean; } export type MaterialRenderer = "solid" | "frost" | "liquid"; export type MaterialFallback = "preference" | "design" | "contrast" | "transparency" | "missing-target" | "unavailable"; export interface MaterialResolution { renderer: MaterialRenderer; static: boolean; fallback?: MaterialFallback; } /** The modal veil takes precedence over the normal frame frost. */ export declare function frostedKindOf(options: Pick): "veil" | "frame" | null; /** Role, density and renderer are separate decisions. This never acquires resources. */ export declare function resolveMaterial(theme: Pick, options: MaterialOptions, capabilities: MaterialCapabilities, hasSafeTarget: boolean): MaterialResolution; //# sourceMappingURL=material-resolution.d.ts.map