/// import { ComponentClass, MouseEvent, ReactNode } from 'react'; import { PassTroughFunction } from '../../utils/getPassThrough'; import { Component } from '../../types'; export interface ButtonNodeProps { flat: boolean; innerRef(instance: HTMLElement): void; onMouseLeave(event: MouseEvent): void; onMouseUp(event: MouseEvent): void; primary: boolean; type: string | null; } export interface ButtonProps { accent: boolean; children: ReactNode; flat: boolean; floating: boolean; href: string; innerRef(instance: HTMLElement): void; label: string; mini: boolean; neutral: boolean; onMouseLeave(event: MouseEvent): void; onMouseUp(event: MouseEvent): void; primary: boolean; raised: boolean; toggle: boolean; type: string; } export interface ButtonFactoryArgs { ButtonNode: Component; LinkNode: Component; passthrough: PassTroughFunction; } export default function buttonFactory({ButtonNode, LinkNode, passthrough}: ButtonFactoryArgs): ComponentClass;