/** * Flowtype definitions for index * Generated by Flowgen from a Typescript Definition * Flowgen v1.10.0 */ import * as React from "react"; import * as ReactNative from "react-native"; import { GestureResponderEvent } from "react-native"; export type NumberProp = string | number; export type NumberArray = NumberProp[] | NumberProp; export type FillRule = "evenodd" | "nonzero"; export type Units = "userSpaceOnUse" | "objectBoundingBox"; export type TextAnchor = "start" | "middle" | "end"; export type FontStyle = "normal" | "italic" | "oblique"; export type FontVariant = "normal" | "small-caps"; export type FontWeight = | NumberProp | "normal" | "bold" | "bolder" | "lighter" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900"; export type FontStretch = | "normal" | "wider" | "narrower" | "ultra-condensed" | "extra-condensed" | "condensed" | "semi-condensed" | "semi-expanded" | "expanded" | "extra-expanded" | "ultra-expanded"; export type TextDecoration = | "none" | "underline" | "overline" | "line-through" | "blink"; export type FontVariantLigatures = "normal" | "none"; export type AlignmentBaseline = | "baseline" | "text-bottom" | "alphabetic" | "ideographic" | "middle" | "central" | "mathematical" | "text-top" | "bottom" | "center" | "top" | "text-before-edge" | "text-after-edge" | "before-edge" | "after-edge" | "hanging"; export type BaselineShift = | "sub" | "super" | "baseline" | $ReadOnlyArray | NumberProp; export type LengthAdjust = "spacing" | "spacingAndGlyphs"; export type TextPathMethod = "align" | "stretch"; export type TextPathSpacing = "auto" | "exact"; export type TextPathMidLine = "sharp" | "smooth"; export type Linecap = "butt" | "square" | "round"; export type Linejoin = "miter" | "bevel" | "round"; export interface TouchableProps { disabled?: boolean; onPress?: (event: GestureResponderEvent) => void; onPressIn?: (event: GestureResponderEvent) => void; onPressOut?: (event: GestureResponderEvent) => void; onLongPress?: (event: GestureResponderEvent) => void; delayPressIn?: number; delayPressOut?: number; delayLongPress?: number; } export type ResponderProps = { pointerEvents?: "box-none" | "none" | "box-only" | "auto", ... } & ReactNative.GestureResponderHandlers; export type rgbaArray = $ReadOnlyArray; export type int32ARGBColor = number; export type Color = int32ARGBColor | rgbaArray | string; export interface FillProps { fill?: Color; fillOpacity?: NumberProp; fillRule?: FillRule; } export interface ClipProps { clipRule?: FillRule; clipPath?: string; } export interface VectorEffectProps { vectorEffect?: | "none" | "non-scaling-stroke" | "nonScalingStroke" | "default" | "inherit" | "uri"; } export interface DefinitionProps { id?: string; } export interface StrokeProps { stroke?: Color; strokeWidth?: NumberProp; strokeOpacity?: NumberProp; strokeDasharray?: $ReadOnlyArray | NumberProp; strokeDashoffset?: NumberProp; strokeLinecap?: Linecap; strokeLinejoin?: Linejoin; strokeMiterlimit?: NumberProp; } export interface FontObject { fontStyle?: FontStyle; fontVariant?: FontVariant; fontWeight?: FontWeight; fontStretch?: FontStretch; fontSize?: NumberProp; fontFamily?: string; textAnchor?: TextAnchor; textDecoration?: TextDecoration; letterSpacing?: NumberProp; wordSpacing?: NumberProp; kerning?: NumberProp; fontFeatureSettings?: string; fontVariantLigatures?: FontVariantLigatures; fontVariationSettings?: string; } export type FontProps = { font?: FontObject, ... } & FontObject; export interface TransformObject { translate?: NumberArray; translateX?: NumberProp; translateY?: NumberProp; origin?: NumberArray; originX?: NumberProp; originY?: NumberProp; scale?: NumberArray; scaleX?: NumberProp; scaleY?: NumberProp; skew?: NumberArray; skewX?: NumberProp; skewY?: NumberProp; rotation?: NumberProp; x?: NumberArray; y?: NumberArray; } export type ColumnMajorTransformMatrix = [ number, number, number, number, number, number ]; export type TransformProps = { transform?: ColumnMajorTransformMatrix | string | TransformObject, ... } & TransformObject; export interface CommonMaskProps { mask?: string; } export interface CommonMarkerProps { marker?: string; markerStart?: string; markerMid?: string; markerEnd?: string; } export type CommonPathProps = { ... } & FillProps & StrokeProps & ClipProps & TransformProps & VectorEffectProps & ResponderProps & TouchableProps & DefinitionProps & CommonMarkerProps & CommonMaskProps; export type CircleProps = { cx?: NumberProp, cy?: NumberProp, opacity?: NumberProp, r?: NumberProp, ... } & CommonPathProps; declare export var Circle: React.ComponentClass; export interface ClipPathProps { id?: string; } declare export var ClipPath: React.ComponentClass; declare export var Defs: React.ComponentClass<{ ... }>; export type EllipseProps = { cx?: NumberProp, cy?: NumberProp, opacity?: NumberProp, rx?: NumberProp, ry?: NumberProp, ... } & CommonPathProps; declare export var Ellipse: React.ComponentClass; export type GProps = { opacity?: NumberProp, ... } & CommonPathProps; declare export var G: React.ComponentClass; export interface ForeignObjectProps { x?: NumberProp; y?: NumberProp; width?: NumberProp; height?: NumberProp; } declare export var ForeignObject: React.ComponentClass; export type ImageProps = { x?: NumberProp, y?: NumberProp, width?: NumberProp, height?: NumberProp, xlinkHref?: $PropertyType, href?: $PropertyType, preserveAspectRatio?: string, opacity?: NumberProp, clipPath?: string, ... } & ResponderProps & CommonMaskProps & ClipProps & TouchableProps; declare export var Image: React.ComponentClass; export type LineProps = { opacity?: NumberProp, x1?: NumberProp, x2?: NumberProp, y1?: NumberProp, y2?: NumberProp, ... } & CommonPathProps; declare export var Line: React.ComponentClass; export interface LinearGradientProps { x1?: NumberProp; x2?: NumberProp; y1?: NumberProp; y2?: NumberProp; gradientUnits?: Units; gradientTransform?: ColumnMajorTransformMatrix | string; id?: string; } declare export var LinearGradient: React.ComponentClass; export type PathProps = { d?: string, opacity?: NumberProp, ... } & CommonPathProps; declare export var Path: React.ComponentClass; export interface PatternProps { id?: string; x?: NumberProp; y?: NumberProp; width?: NumberProp; height?: NumberProp; patternTransform?: ColumnMajorTransformMatrix | string; patternUnits?: Units; patternContentUnits?: Units; viewBox?: string; preserveAspectRatio?: string; } declare export var Pattern: React.ComponentClass; export type PolygonProps = { opacity?: NumberProp, points?: string | $ReadOnlyArray, ... } & CommonPathProps; declare export var Polygon: React.ComponentClass; export type PolylineProps = { opacity?: NumberProp, points?: string | $ReadOnlyArray, ... } & CommonPathProps; declare export var Polyline: React.ComponentClass; export interface RadialGradientProps { fx?: NumberProp; fy?: NumberProp; rx?: NumberProp; ry?: NumberProp; cx?: NumberProp; cy?: NumberProp; r?: NumberProp; gradientUnits?: Units; gradientTransform?: ColumnMajorTransformMatrix | string; id?: string; } declare export var RadialGradient: React.ComponentClass; export type RectProps = { x?: NumberProp, y?: NumberProp, width?: NumberProp, height?: NumberProp, rx?: NumberProp, ry?: NumberProp, opacity?: NumberProp, ... } & CommonPathProps; declare export var Rect: React.ComponentClass; export interface StopProps { stopColor?: Color; stopOpacity?: NumberProp; offset?: NumberProp; } declare export var Stop: React.ComponentClass; export type SvgProps = { width?: NumberProp, height?: NumberProp, viewBox?: string, preserveAspectRatio?: string, color?: Color, title?: string, ... } & GProps & ReactNative.ViewProperties; declare export var Svg: React.ComponentClass; declare export default typeof Svg; export interface SymbolProps { id?: string; viewBox?: string; preserveAspectRatio?: string; opacity?: NumberProp; } declare export var Symbol: React.ComponentClass; export type TSpanProps = { x?: NumberArray, y?: NumberArray, dx?: NumberArray, dy?: NumberArray, rotate?: NumberArray, inlineSize?: NumberProp, ... } & CommonPathProps & FontProps; declare export var TSpan: React.ComponentClass; export type TextSpecificProps = { alignmentBaseline?: AlignmentBaseline, baselineShift?: BaselineShift, verticalAlign?: NumberProp, lengthAdjust?: LengthAdjust, textLength?: NumberProp, fontData?: null | { [name: string]: mixed, ... }, fontFeatureSettings?: string, ... } & CommonPathProps & FontProps; export type TextProps = { x?: NumberArray, y?: NumberArray, dx?: NumberArray, dy?: NumberArray, rotate?: NumberArray, opacity?: NumberProp, inlineSize?: NumberProp, ... } & TextSpecificProps; declare export var Text: React.ComponentClass; export type TextPathProps = { xlinkHref?: string, href?: string, startOffset?: NumberProp, method?: TextPathMethod, spacing?: TextPathSpacing, midLine?: TextPathMidLine, ... } & TextSpecificProps; declare export var TextPath: React.ComponentClass; export type UseProps = { xlinkHref?: string, href?: string, width?: NumberProp, height?: NumberProp, x?: NumberProp, y?: NumberProp, opacity?: NumberProp, ... } & CommonPathProps; declare export var Use: React.ComponentClass; declare export var EMaskUnits: {| +USER_SPACE_ON_USE: "userSpaceOnUse", // "userSpaceOnUse" +OBJECT_BOUNDING_BOX: "objectBoundingBox" // "objectBoundingBox" |}; export type TMaskUnits = | typeof EMaskUnits.USER_SPACE_ON_USE | typeof EMaskUnits.OBJECT_BOUNDING_BOX; export type MaskProps = { id?: string, x?: NumberProp, y?: NumberProp, width?: NumberProp, height?: NumberProp, maskTransform?: ColumnMajorTransformMatrix | string, maskUnits?: TMaskUnits, maskContentUnits?: TMaskUnits, ... } & CommonPathProps; declare export var Mask: React.ComponentClass; declare export var MarkerUnits: {| +STROKE_WIDTH: "strokeWidth", // "strokeWidth" +USER_SPACE_ON_USE: "userSpaceOnUse" // "userSpaceOnUse" |}; declare export var Orient: {| +AUTO: "auto", // "auto" +AUTO_START_REVERSE: "auto-start-reverse" // "auto-start-reverse" |}; export interface MarkerProps { id?: string; viewBox?: string; preserveAspectRatio?: string; refX?: NumberProp; refY?: NumberProp; markerWidth?: NumberProp; markerHeight?: NumberProp; markerUnits?: $Values; orient?: $Values | NumberProp; } declare export var Marker: React.ComponentClass; export type Styles = { [property: string]: string, ... }; export interface AST { tag: string; style?: Styles; styles?: string; priority?: Map; parent: AST | null; children: (AST | string)[] | (React$Node | string)[]; props: { [prop: string]: Styles | string | void, ... }; Tag: React.ComponentType<>; } export type XmlAST = { children: (XmlAST | string)[], parent: XmlAST | null, ... } & AST; export type JsxAST = { children: (React$Node | string)[], ... } & AST; export type UriProps = { uri: string | null, override?: SvgProps, ... } & SvgProps; export type UriState = { xml: string | null, ... }; export type XmlProps = { xml: string | null, override?: SvgProps, ... } & SvgProps; export type XmlState = { ast: JsxAST | null, ... }; export type AstProps = { ast: JsxAST | null, override?: SvgProps, ... } & SvgProps; export type Middleware = (ast: XmlAST) => XmlAST; declare export function parse( source: string, middleware?: Middleware ): JsxAST | null; declare export var SvgAst: React.FunctionComponent; declare export var SvgXml: React.FunctionComponent; declare export var SvgFromXml: React.ComponentClass; declare export var SvgUri: React.FunctionComponent; declare export var SvgFromUri: React.ComponentClass; declare export var SvgCss: React.FunctionComponent; declare export var SvgWithCss: React.ComponentClass; declare export var SvgCssUri: React.FunctionComponent; declare export var SvgWithCssUri: React.ComponentClass; declare export var inlineStyles: Middleware;