// Styling global type definitions. // // nuclo styling is block-based, theme-aware, typed CSS-in-TS: // // const { css, cx } = createCss({ // colors: { primary: "#6366f1" }, // screens: { md: "(min-width: 768px)" }, // }); // const button = css({ px: 24, bg: "primary", hover: { bg: "#4f46e5" }, md: { px: 32 } }); // div(button, "Save"); // // The themeless defaults (css, cx, keyframes, globalStyle) are registered as // globals by the runtime bootstrap; themed instances come from createCss(). // // The type definitions live in types/style.d.ts (NOT src/) so they resolve in // the published package, which ships only dist/ and types/. import type { ClassInput as NucloClassInput, CssInstance as NucloCssInstance, CSSProperties as NucloCSSProperties, FlatStyle as NucloFlatStyle, KeyframeFrames as NucloKeyframeFrames, KeyframeStop as NucloKeyframeStop, Size as NucloSize, Style as NucloStyle, StyleResult as NucloStyleResult, ThemeConfig as NucloThemeConfig, VariantDefinitions as NucloVariantDefinitions, VariantProps as NucloVariantProps, VariantsConfig as NucloVariantsConfig, VariantsFn as NucloVariantsFn, } from "../style"; declare global { export type Size = NucloSize; export type CSSProperties = NucloCSSProperties; export type ThemeConfig = NucloThemeConfig; export type FlatStyle = NucloFlatStyle; export type Style = NucloStyle; export type StyleResult = NucloStyleResult; export type ClassInput = NucloClassInput; export type KeyframeStop = NucloKeyframeStop; export type KeyframeFrames = NucloKeyframeFrames; export type VariantDefinitions = NucloVariantDefinitions; export type VariantProps = NucloVariantProps; export type VariantsConfig> = NucloVariantsConfig; export type VariantsFn = NucloVariantsFn; /** * A themed styling instance: css/cx/variants/keyframes/globalStyle bound to * a theme. Returned by createCss(). */ export type CssInstance = NucloCssInstance; /** * Create a themed styling instance. Theme tokens (colors, fonts, shadows, * radii) become autocompleted values; `screens` become responsive variant * keys usable inside style objects. */ function createCss(theme?: T): CssInstance; /** Themeless css() under a readable, stable class name: `css("app-root", { … })` → `.app-root`. */ function css(name: string, style: Style): StyleResult; /** * Themeless css() — full property/variant typing, no tokens or screens. * Declared last so `Parameters[0]` is the style object: * `Parameters` resolves against the final overload. */ function css(style: Style): StyleResult; /** Compose class lists with last-wins conflict resolution. */ function cx(...inputs: ClassInput[]): StyleResult; /** Themeless variants() recipe helper. */ function variants>( config: VariantsConfig, ): VariantsFn; /** Themeless keyframes() helper. */ function keyframes(frames: KeyframeFrames): string; /** Themeless globalStyle() helper. */ function globalStyle(selector: string, style: FlatStyle): void; } export {};