/** CSS border styles that may be resolved from the themed Page surface. */ export declare const WIDGET_FRAME_RESOLVED_BORDER_STYLES: readonly ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]; export type WidgetFrameResolvedBorderStyle = (typeof WIDGET_FRAME_RESOLVED_BORDER_STYLES)[number]; export type WidgetFrameResolvedSrgbColor = { colorSpace: "srgb"; /** Integer sRGB channel in the inclusive range 0-255. */ red: number; /** Integer sRGB channel in the inclusive range 0-255. */ green: number; /** Integer sRGB channel in the inclusive range 0-255. */ blue: number; /** Alpha channel in the inclusive range 0-1. */ alpha: number; }; export type WidgetFrameResolvedBorderColor = WidgetFrameResolvedSrgbColor; export type WidgetFrameResolvedBorder = { color: WidgetFrameResolvedSrgbColor; style: WidgetFrameResolvedBorderStyle; /** Resolved CSS pixel width. */ widthPx: number; }; export type WidgetFrameResolvedBorderRadiusCorner = { /** Resolved horizontal radius in CSS pixels. */ horizontalPx: number; /** Resolved vertical radius in CSS pixels. */ verticalPx: number; }; /** Effective border-box corner radii after relative lengths and overlap scaling. */ export type WidgetFrameResolvedBorderRadius = { topLeft: WidgetFrameResolvedBorderRadiusCorner; topRight: WidgetFrameResolvedBorderRadiusCorner; bottomRight: WidgetFrameResolvedBorderRadiusCorner; bottomLeft: WidgetFrameResolvedBorderRadiusCorner; }; /** One resolved layer from the CSS `box-shadow` list, in declaration order. */ export type WidgetFrameResolvedBoxShadowLayer = { color: WidgetFrameResolvedSrgbColor; /** Resolved horizontal offset in CSS pixels. */ offsetXPx: number; /** Resolved vertical offset in CSS pixels. */ offsetYPx: number; /** Resolved non-negative blur radius in CSS pixels. */ blurRadiusPx: number; /** Resolved spread radius in CSS pixels. */ spreadRadiusPx: number; inset: boolean; }; /** Read-only runtime frame appearance state derived from the themed Page surface. */ export type WidgetFrameAppearance = { kind: "none"; } | { kind: "page"; border: string; borderRadius: string; boxShadow: string; resolvedBorder?: WidgetFrameResolvedBorder; resolvedBorderRadius?: WidgetFrameResolvedBorderRadius; /** Omitted when unresolved; an empty list explicitly represents `box-shadow: none`. */ resolvedBoxShadow?: WidgetFrameResolvedBoxShadowLayer[]; }; export declare function isWidgetFrameAppearance(value: unknown): value is WidgetFrameAppearance; export declare function areWidgetFrameAppearancesEqual(a: WidgetFrameAppearance | undefined, b: WidgetFrameAppearance | undefined): boolean; export declare function cloneWidgetFrameAppearance(appearance: WidgetFrameAppearance): WidgetFrameAppearance; export declare function cloneWidgetFrameAppearance(appearance: WidgetFrameAppearance | undefined): WidgetFrameAppearance | undefined; //# sourceMappingURL=widget-frame-appearance.d.ts.map