declare module 'react-simple-maps' {
  import * as React from 'react';
  import type { Feature, FeatureCollection, Geometry } from 'geojson';

  export interface ComposableMapProps extends React.SVGProps<SVGSVGElement> {
    geography?: string | FeatureCollection | Feature<Geometry>;
    projection?: string | ((width: number, height: number) => any);
    projectionConfig?: Record<string, unknown>;
    width?: number;
    height?: number;
  }

  export const ComposableMap: React.FC<ComposableMapProps>;

  export interface GeographiesChildrenProps {
    geographies: Feature<Geometry>[];
  }

  export interface GeographiesProps {
    geography: string | FeatureCollection | Feature<Geometry>;
    children: (props: GeographiesChildrenProps) => React.ReactNode;
  }

  export const Geographies: React.FC<GeographiesProps>;

  export interface GeographyStyle {
    default?: React.CSSProperties;
    hover?: React.CSSProperties;
    pressed?: React.CSSProperties;
  }

  export interface GeographyProps extends React.SVGProps<SVGPathElement> {
    geography: Feature<Geometry>;
    style?: GeographyStyle;
  }

  export const Geography: React.FC<GeographyProps>;
}
