import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent'; import type { ColorValue } from 'react-native'; import type { Float, Int32, WithDefault, } from 'react-native/Libraries/Types/CodegenTypes'; import type { ViewProps } from './utils'; import type { UnsafeMixed } from './codegenUtils'; import { FontObject, NumberProp } from '../lib/extract/types'; interface SvgNodeCommonProps { name?: string; opacity?: WithDefault; matrix?: ReadonlyArray | null; mask?: string; markerStart?: string; markerMid?: string; markerEnd?: string; clipPath?: string; clipRule?: WithDefault; responsible?: boolean; display?: string; pointerEvents?: string; } type ColorStruct = Readonly<{ type?: WithDefault; payload?: ColorValue; brushRef?: string; }>; interface SvgRenderableCommonProps { color?: ColorValue; fill?: UnsafeMixed; fillOpacity?: WithDefault; fillRule?: WithDefault; stroke?: UnsafeMixed; strokeOpacity?: WithDefault; strokeWidth?: UnsafeMixed; strokeLinecap?: WithDefault; strokeLinejoin?: WithDefault; strokeDasharray?: UnsafeMixed | NumberProp>; strokeDashoffset?: Float; strokeMiterlimit?: Float; vectorEffect?: WithDefault; propList?: ReadonlyArray; filter?: string; } interface SvgGroupCommonProps { fontSize?: UnsafeMixed; fontWeight?: UnsafeMixed; font?: UnsafeMixed; } interface NativeProps extends ViewProps, SvgNodeCommonProps, SvgRenderableCommonProps, SvgGroupCommonProps { x?: UnsafeMixed; y?: UnsafeMixed; height?: UnsafeMixed; width?: UnsafeMixed; patternUnits?: Int32; patternContentUnits?: Int32; patternTransform?: ReadonlyArray | null; minX?: Float; minY?: Float; vbWidth?: Float; vbHeight?: Float; align?: string; meetOrSlice?: Int32; } export default codegenNativeComponent('RNSVGPattern', { interfaceOnly: true, });