import type { TextStyle, ViewStyle } from 'react-native'; import type { ResolvedDeviceAttributes } from '../attributes/resolve-device-attributes'; import { type ProjectCssVariableDefinitions } from '../project-css-variables/resolve-css-variable-leaf'; /** * Maps RulesCMS style attribute values → React Native layout primitives. * * Covers the MVP subset of `object-style-attribute-registry.ts`: * margin, padding, width/height, colors, opacity, font, text-align, gap, * justify-content, align-items. Full CSS parity is intentionally deferred. */ export interface MappedColumnStyles { viewStyle: ViewStyle; textStyle: TextStyle; hasBoxStyles: boolean; gap?: number; justifyContent?: ViewStyle['justifyContent']; alignItems?: ViewStyle['alignItems']; } declare function length(value: unknown, catalog: ProjectCssVariableDefinitions): number | undefined; declare function color(value: unknown, catalog: ProjectCssVariableDefinitions): string | undefined; export declare function mapColumnStyles(attrs: ResolvedDeviceAttributes, cssVariables?: ProjectCssVariableDefinitions | null): MappedColumnStyles; export declare function mapRowStyles({ rowAttrs, legacyHorizontalAlignment, legacyVerticalAlignment, legacyGap, cssVariables, }: { rowAttrs: ResolvedDeviceAttributes; legacyHorizontalAlignment?: string; legacyVerticalAlignment?: string; legacyGap?: string; cssVariables?: ProjectCssVariableDefinitions | null; }): MappedColumnStyles; export { length as _lengthForTests, color as _colorForTests }; //# sourceMappingURL=style-mapper.d.ts.map