import type { BorderType, CircleShape, ColorMode, ConcaveShape, ConvexShape, PillShape, RectangleShape, ShadowType, Size, Spacing } from "../types";
import type { ColorGradientInfo, ColorGradientScheme, ColorScheme } from "../types/colors";
import type { FitMode } from "../types/media";
export type CSS = Record<string, string | number>;
export declare function css(props: CSS): string;
export declare function px(value: string | number): string;
export declare function mapColorMode<T>(colorMode: ColorMode, value: {
    light: T;
    dark?: T | null;
}): T;
export declare function mapSize(size: Size): string;
export declare function mapSpacing(spacing?: Spacing | null): string;
export declare function mapColorInfo(info: ColorGradientInfo): string;
export declare function mapColor(colorMode: ColorMode, scheme: ColorScheme | ColorGradientScheme | null | undefined): string;
export declare function mapOverlay(colorMode: ColorMode, colorOverlay: ColorGradientScheme | null | undefined): string;
/**
 * Maps border props to inline CSS.
 *
 * For gradient borders, this returns CSS custom properties consumed by a
 * global `::after` rule (defined in Paywall.svelte). Any element that
 * receives these styles **must** also have the `rc-gradient-border` class
 * for the pseudo-element to render.
 */
export declare function mapBorder(colorMode: ColorMode, border: BorderType | null | undefined): CSS;
export declare function mapBorderRadius(shape: RectangleShape | CircleShape | PillShape | ConcaveShape | ConvexShape | null | undefined): string;
export declare function mapShadow(colorMode: ColorMode, shadow: ShadowType | null | undefined): string;
export declare function mapFitMode(fit_mode: FitMode): string;
