import type { DimensionValue, TextStyle, ViewStyle } from 'react-native'; import type { ThemeVars } from '@coinbase/cds-common/core/theme'; import type { ElevationLevels } from '@coinbase/cds-common/types/ElevationLevels'; import type { TypeOrNumber } from '@coinbase/cds-common/types/TypeOrNumber'; import type { Theme } from '../core/theme'; /** Position-related style props using React Native types. Use this instead of common's PositionStyles for mobile. */ export type PositionStyles = Pick< ViewStyle, 'position' | 'top' | 'bottom' | 'left' | 'right' | 'zIndex' >; type NegativeSpace = TypeOrNumber<'0' | `-${Exclude}`>; export type StyleProps = { color?: ThemeVars.Color; background?: ThemeVars.Color; borderColor?: ThemeVars.Color; borderWidth?: ThemeVars.BorderWidth; borderTopWidth?: ThemeVars.BorderWidth; borderEndWidth?: ThemeVars.BorderWidth; borderBottomWidth?: ThemeVars.BorderWidth; borderStartWidth?: ThemeVars.BorderWidth; borderRadius?: ThemeVars.BorderRadius; borderTopLeftRadius?: ThemeVars.BorderRadius; borderTopRightRadius?: ThemeVars.BorderRadius; borderBottomLeftRadius?: ThemeVars.BorderRadius; borderBottomRightRadius?: ThemeVars.BorderRadius; fontFamily?: ThemeVars.FontFamily | 'inherit'; fontSize?: ThemeVars.FontSize | 'inherit'; fontWeight?: ThemeVars.FontWeight | 'inherit'; lineHeight?: ThemeVars.LineHeight | 'inherit'; textDecorationStyle?: TextStyle['textDecorationStyle']; textDecorationLine?: TextStyle['textDecorationLine']; textTransform?: TextStyle['textTransform']; userSelect?: TextStyle['userSelect']; display?: ViewStyle['display']; overflow?: ViewStyle['overflow']; gap?: ThemeVars.Space; columnGap?: ThemeVars.Space; rowGap?: ThemeVars.Space; justifyContent?: ViewStyle['justifyContent']; alignContent?: ViewStyle['alignContent']; alignItems?: ViewStyle['alignItems']; alignSelf?: ViewStyle['alignSelf']; flexDirection?: ViewStyle['flexDirection']; flexWrap?: ViewStyle['flexWrap']; position?: ViewStyle['position']; zIndex?: ViewStyle['zIndex']; padding?: ThemeVars.Space; paddingX?: ThemeVars.Space; paddingY?: ThemeVars.Space; paddingTop?: ThemeVars.Space; paddingBottom?: ThemeVars.Space; paddingStart?: ThemeVars.Space; paddingEnd?: ThemeVars.Space; margin?: NegativeSpace; marginX?: NegativeSpace; marginY?: NegativeSpace; marginTop?: NegativeSpace; marginBottom?: NegativeSpace; marginStart?: NegativeSpace; marginEnd?: NegativeSpace; elevation?: ElevationLevels; textAlign?: TextStyle['textAlign']; width?: DimensionValue; height?: DimensionValue; minWidth?: DimensionValue; minHeight?: DimensionValue; maxWidth?: DimensionValue; maxHeight?: DimensionValue; aspectRatio?: ViewStyle['aspectRatio']; top?: DimensionValue; bottom?: DimensionValue; left?: DimensionValue; right?: DimensionValue; transform?: ViewStyle['transform']; flexBasis?: DimensionValue; flexGrow?: ViewStyle['flexGrow']; flexShrink?: ViewStyle['flexShrink']; opacity?: ViewStyle['opacity']; }; /** StyleProps that get their values from the theme. */ export declare const themedStyleProps: { readonly color: 'color'; readonly background: 'color'; readonly borderColor: 'color'; readonly borderWidth: 'borderWidth'; readonly borderTopWidth: 'borderWidth'; readonly borderEndWidth: 'borderWidth'; readonly borderBottomWidth: 'borderWidth'; readonly borderStartWidth: 'borderWidth'; readonly borderRadius: 'borderRadius'; readonly borderTopLeftRadius: 'borderRadius'; readonly borderTopRightRadius: 'borderRadius'; readonly borderBottomLeftRadius: 'borderRadius'; readonly borderBottomRightRadius: 'borderRadius'; readonly fontFamily: 'fontFamily'; readonly fontSize: 'fontSize'; readonly fontWeight: 'fontWeight'; readonly lineHeight: 'lineHeight'; readonly gap: 'space'; readonly columnGap: 'space'; readonly rowGap: 'space'; readonly padding: 'space'; readonly paddingX: 'space'; readonly paddingY: 'space'; readonly paddingTop: 'space'; readonly paddingBottom: 'space'; readonly paddingStart: 'space'; readonly paddingEnd: 'space'; readonly margin: 'space'; readonly marginX: 'space'; readonly marginY: 'space'; readonly marginTop: 'space'; readonly marginBottom: 'space'; readonly marginStart: 'space'; readonly marginEnd: 'space'; }; export declare const getStyles: (styleProps: StyleProps, theme: Theme) => ViewStyle | TextStyle; export declare const getViewStyles: (styleProps: StyleProps, theme: Theme) => ViewStyle; export declare const getTextStyles: (styleProps: StyleProps, theme: Theme) => TextStyle; export {}; //# sourceMappingURL=styleProps.d.ts.map