declare module 'react-native-svg' {
  import * as React from 'react';
  import { ViewProps } from 'react-native';

  export interface SvgProps extends ViewProps {
    width?: number | string;
    height?: number | string;
    viewBox?: string;
  }
  export default function Svg(props: React.PropsWithChildren<SvgProps>): React.ReactElement | null;

  export interface CommonProps {
    fill?: string;
    stroke?: string;
    strokeWidth?: number;
    strokeLinecap?: 'butt' | 'round' | 'square';
    strokeLinejoin?: 'miter' | 'round' | 'bevel';
    strokeDasharray?: string | number[];
    strokeDashoffset?: number;
  }

  export interface CircleProps extends CommonProps {
    cx?: number;
    cy?: number;
    r?: number;
    originX?: number;
    originY?: number;
  }
  export const Circle: React.ComponentType<CircleProps>;

  export interface GProps extends CommonProps {
    rotation?: number;
    originX?: number;
    originY?: number;
  }
  export const G: React.ComponentType<React.PropsWithChildren<GProps>>;

  export interface DefsProps { }
  export const Defs: React.ComponentType<React.PropsWithChildren<DefsProps>>;

  export interface LineProps extends CommonProps {
    x1?: number | string;
    y1?: number | string;
    x2?: number | string;
    y2?: number | string;
  }
  export const Line: React.ComponentType<LineProps>;

  export interface LinearGradientProps {
    id?: string;
    x1?: number | string;
    y1?: number | string;
    x2?: number | string;
    y2?: number | string;
  }
  export const LinearGradient: React.ComponentType<React.PropsWithChildren<LinearGradientProps>>;

  export interface StopProps {
    offset?: number | string;
    stopColor?: string;
    stopOpacity?: number;
  }
  export const Stop: React.ComponentType<StopProps>;

  export interface PolygonProps extends CommonProps {
    points?: string;
  }
  export const Polygon: React.ComponentType<PolygonProps>;

  export interface PathProps extends CommonProps {
    d?: string;
  }
  export const Path: React.ComponentType<PathProps>;

  export interface TextProps extends CommonProps {
    x?: number | string;
    y?: number | string;
    fontSize?: number | string;
    fill?: string;
    textAnchor?: 'start' | 'middle' | 'end';
  }
  export const Text: React.ComponentType<React.PropsWithChildren<TextProps>>;
}


