import * as React from 'react' import { Box, Theme, Dimensions, MotionProps, ColorProps, GetColor, SvgDefsAndFill, } from '@nivo/core' declare module '@nivo/waffle' { export type WaffleFillDirection = 'top' | 'right' | 'bottom' | 'left' export interface WaffleDatum { id: string | number value: number label: string | number } export type WaffleTooltipData = WaffleDatum & { color: string position: number row: number column: number groupIndex: number startAt: number endAt: number } export type ValueFormatter = (value: number) => string | number export interface WaffleBaseProps { total: number data: object[] rows: number columns: number } export type WaffleCommonProps = ColorProps & Partial<{ margin: Box fillDirection: WaffleFillDirection padding: number theme: Theme emptyColor: string emptyOpacity: number borderWidth: number borderColor: string | GetColor enableLabels: boolean isInteractive: boolean onClick: (datum: WaffleDatum, event: React.MouseEvent) => void tooltipFormat: string | ValueFormatter tooltip: React.StatelessComponent }> export type WaffleSvgProps = WaffleBaseProps & WaffleCommonProps & MotionProps & SvgDefsAndFill export class Waffle extends React.Component {} export class ResponsiveWaffle extends React.Component {} export type WaffleHtmlProps = WaffleBaseProps & WaffleCommonProps & MotionProps export class WaffleHtml extends React.Component {} export class ResponsiveWaffleHtml extends React.Component {} export type WaffleCanvasProps = WaffleBaseProps & WaffleCommonProps & Partial<{ pixelRatio: number }> export class WaffleCanvas extends React.Component {} export class ResponsiveWaffleCanvas extends React.Component {} }