declare module '*.module.css' {
  const classes: { readonly [key: string]: string };
  export default classes;
}

declare module '*.module.scss' {
  const classes: { readonly [key: string]: string };
  export default classes;
}

declare module '*.svg' {
  const content: React.FunctionComponent<React.SVGAttributes<SVGElement>>;
  export default content;
}

// @see https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/get-img-props.ts#L13
interface StaticImageData {
  src: string;
  height: number;
  width: number;
  blurDataURL?: string;
  blurWidth?: number;
  blurHeight?: number;
}

declare module '*.webp' {
  const content: string | StaticImageData;
  export default content;
}

declare module '*.png' {
  const content: string | StaticImageData;
  export default content;
}
