declare module 'react-native-ico-hand' {
    import { ReactNode } from 'react';
    import { SvgProps, AdditionalProps } from 'react-native-svg';

    type iconNames = 'cactus' |
      'call' |
      'chips-bet' |
      'clapping-clap' |
      'computer-mouse-clicker' |
      'computer-mouse-mouse' |
      'dial' |
      'dislike-bad' |
      'drag-1' |
      'drag-106' |
      'drag-11' |
      'drag-119' |
      'drag-149' |
      'drag-3' |
      'drag-34' |
      'drag-41' |
      'drag-51' |
      'drag-58' |
      'drag-72' |
      'drag-73' |
      'drag-75' |
      'drag-76' |
      'drag-79' |
      'drag-96' |
      'drag-hands-and-gestures' |
      'drag-scroll-151' |
      'drag-scroll-42' |
      'drag-scroll-44' |
      'drag-scroll-90' |
      'drag-scroll' |
      'drag' |
      'email-mail' |
      'fingers-finger-121' |
      'fingers-finger-146' |
      'fingers-finger-148' |
      'fingers-finger-15' |
      'fingers-finger-154' |
      'fingers-finger-27' |
      'fingers-finger-30' |
      'fingers-finger-56' |
      'fingers-finger-59' |
      'fingers-finger-86' |
      'fingers-finger-95' |
      'fingers-finger-98' |
      'fingers-finger' |
      'fingers-hand-36' |
      'fingers-hand-47' |
      'fingers-hand' |
      'fingers-hands' |
      'fist-45' |
      'fist' |
      'gestures-catch' |
      'gestures-hold' |
      'hand-gesture-finger-5' |
      'hand-gesture-finger' |
      'hand-gesture' |
      'hand-hold-4' |
      'hand-hold' |
      'hand-red-little' |
      'hand-red-middle' |
      'hand-red-pointer' |
      'hand-red-ring' |
      'hand-red-thumb' |
      'hand' |
      'hands-catch' |
      'heart' |
      'hold' |
      'hygienic-washing' |
      'lightbulb' |
      'like' |
      'middle-finger-finger' |
      'middle-finger' |
      'mouse' |
      'planet-earth-global' |
      'pointing-down-down' |
      'pointing-down-finger-107' |
      'pointing-down-finger-120' |
      'pointing-down-finger' |
      'pointing-finger' |
      'pointing-hand-finger' |
      'pointing-hand' |
      'pointing-hands-115' |
      'pointing-hands-20' |
      'pointing-hands-and-gestures-125' |
      'pointing-hands-and-gestures-21' |
      'pointing-hands-and-gestures-26' |
      'pointing-hands-and-gestures-7' |
      'pointing-hands-and-gestures' |
      'pointing-hands' |
      'pointing-left-finger-137' |
      'pointing-left-finger-25' |
      'pointing-left-finger-35' |
      'pointing-left-finger-68' |
      'pointing-left-finger' |
      'pointing-right-finger-124' |
      'pointing-right-finger-62' |
      'pointing-right-finger' |
      'pointing-right-hand' |
      'pointing-up-finger-122' |
      'pointing-up-finger-53' |
      'pointing-up-finger' |
      'pointing-up-hand-104' |
      'pointing-up-hand' |
      'pointing-up' |
      'prohibition-forbidden' |
      'rock-and-roll-concert' |
      'sheriff' |
      'smartphone-112' |
      'smartphone-touch-screen' |
      'smartphone' |
      'smartwatch-152' |
      'smartwatch' |
      'sprout-49' |
      'sprout-tree' |
      'sprout' |
      'stop' |
      'swear' |
      'tablet-ipad' |
      'tablet' |
      'tap-110' |
      'tap-123' |
      'tap-128' |
      'tap-13' |
      'tap-130' |
      'tap-131' |
      'tap-135' |
      'tap-138' |
      'tap-140' |
      'tap-22' |
      'tap-23' |
      'tap-33' |
      'tap-39' |
      'tap-55' |
      'tap-6' |
      'tap-65' |
      'tap-66' |
      'tap-71' |
      'tap-80' |
      'tap-82' |
      'tap-88' |
      'tap-94' |
      'tap-add' |
      'tap-audio' |
      'tap-back-2' |
      'tap-back' |
      'tap-bluetooth' |
      'tap-cloud' |
      'tap-export' |
      'tap-fast-forward' |
      'tap-finger-10' |
      'tap-finger-100' |
      'tap-finger-101' |
      'tap-finger-102' |
      'tap-finger-103' |
      'tap-finger-108' |
      'tap-finger-109' |
      'tap-finger-111' |
      'tap-finger-114' |
      'tap-finger-117' |
      'tap-finger-118' |
      'tap-finger-12' |
      'tap-finger-126' |
      'tap-finger-127' |
      'tap-finger-129' |
      'tap-finger-132' |
      'tap-finger-133' |
      'tap-finger-136' |
      'tap-finger-139' |
      'tap-finger-14' |
      'tap-finger-141' |
      'tap-finger-143' |
      'tap-finger-144' |
      'tap-finger-145' |
      'tap-finger-147' |
      'tap-finger-150' |
      'tap-finger-153' |
      'tap-finger-156' |
      'tap-finger-16' |
      'tap-finger-17' |
      'tap-finger-18' |
      'tap-finger-19' |
      'tap-finger-24' |
      'tap-finger-28' |
      'tap-finger-29' |
      'tap-finger-31' |
      'tap-finger-32' |
      'tap-finger-38' |
      'tap-finger-40' |
      'tap-finger-43' |
      'tap-finger-46' |
      'tap-finger-48' |
      'tap-finger-52' |
      'tap-finger-57' |
      'tap-finger-60' |
      'tap-finger-63' |
      'tap-finger-69' |
      'tap-finger-74' |
      'tap-finger-77' |
      'tap-finger-78' |
      'tap-finger-8' |
      'tap-finger-81' |
      'tap-finger-84' |
      'tap-finger-85' |
      'tap-finger-87' |
      'tap-finger-89' |
      'tap-finger-9' |
      'tap-finger-91' |
      'tap-finger-92' |
      'tap-finger-93' |
      'tap-finger' |
      'tap-hands-99' |
      'tap-hands-and-gestures-105' |
      'tap-hands-and-gestures-113' |
      'tap-hands-and-gestures-116' |
      'tap-hands-and-gestures-134' |
      'tap-hands-and-gestures-142' |
      'tap-hands-and-gestures-155' |
      'tap-hands-and-gestures-37' |
      'tap-hands-and-gestures-50' |
      'tap-hands-and-gestures-54' |
      'tap-hands-and-gestures-61' |
      'tap-hands-and-gestures-64' |
      'tap-hands-and-gestures-67' |
      'tap-hands-and-gestures-70' |
      'tap-hands-and-gestures-83' |
      'tap-hands-and-gestures-97' |
      'tap-hands-and-gestures' |
      'tap-hands' |
      'tap-import' |
      'tap-more' |
      'tap-mute' |
      'tap-next' |
      'tap-pause' |
      'tap-power-button' |
      'tap-rewind' |
      'tap-search' |
      'tap-settings' |
      'tap-share' |
      'tap-stop' |
      'tap' |
      'victory' |
      'zoom-in-finger' |
      'zoom-in-hand' |
      'zoom-out';

    type iconColors = '#21AE5E' |
      '#26B99A' |
      '#2872C9' |
      '#333F45' |
      '#337FAA' |
      '#38454F' |
      '#3B97D3' |
      '#4795E2' |
      '#48A0DC' |
      '#4E646D' |
      '#535D73' |
      '#546A79' |
      '#556080' |
      '#59C3E3' |
      '#5E5E5E' |
      '#666666' |
      '#71C386' |
      '#7667AC' |
      '#76C9B0' |
      '#8697CB' |
      '#88C057' |
      '#94ABB8' |
      '#95A5A5' |
      '#994530' |
      '#A2DD64' |
      '#A34740' |
      '#A4E869' |
      '#B1D3EF' |
      '#B1D3F0' |
      '#BC9519' |
      '#BDC3C7' |
      '#BECACC' |
      '#C13A2F' |
      '#C1CAD1' |
      '#C45149' |
      '#CEAF6A' |
      '#D0E8F9' |
      '#D3311F' |
      '#D4DBDF' |
      '#D6C4B1' |
      '#D6D3C8' |
      '#D6E0EB' |
      '#D75A4A' |
      '#DDAA80' |
      '#E18C25' |
      '#E2AE83' |
      '#E2B088' |
      '#E64C3C' |
      '#E8E0DF' |
      '#EBF7FD' |
      '#ECF0F1' |
      '#ED7161' |
      '#EDDCC7' |
      '#EDF0F1' |
      '#EFE630' |
      '#F0C41A' |
      '#F0CE17' |
      '#F0EDE0' |
      '#F29C21' |
      '#F3FBFF' |
      '#F42C2C' |
      '#F4D65A' |
      '#F6D380' |
      '#F9A671' |
      '#F9EBB0' |
      '#FDC794' |
      '#FFE9EC' |
      '#FFFFFF' |
      '#ff0000' |
      '#ffffff';

    type backgroundType = 'circle' | 'rect' | 'button';

    type colorsType = Record<iconColors, string>;

    type positionType = 'top' | 'bottom' | 'right' | 'left' |
      'top_right' | 'top_left' | 'bottom_right' | 'bottom_left';

    type backgroundTypeObj = {
      type?: backgroundType;
      color?: string;
      radius?: number;
      borderRadius?: number;
    };

    type badgeTypeObj = {
      value?: number | string;
      fontSize?: string;
      position?: positionType;
      color?: string;
      colors: colorsType;
      backgroundColor?: string;
      radius?: number;
    };

    interface IconProps {
      name: iconNames;
      width?: number;
      height?: number;
      color?: string;
      colors: colorsType;
      stroke?: number;
      background?: backgroundType | backgroundTypeObj;
      badge?: number | string | badgeTypeObj;
    }

    const Icon: (props: IconProps & SvgProps & AdditionalProps) => ReactNode;

    export { iconNames };
    export default Icon;
}
