import { Component, ComponentType, MouseEventHandler } from 'react'; import { ButtonProps } from '../../common'; export declare type FormButtonAction = 'submit' | 'reset'; export interface FormButtonComponentProps { className?: string; disabled?: boolean; onClick?: MouseEventHandler; pending?: boolean; } export declare type FormButtonComponent = ComponentType; export declare type FormButtonProps = ButtonProps & { action: FormButtonAction; disableIfInvalid?: boolean; /** * Defaults to `Button`. */ component?: TComponentType; } & (TComponentType extends ComponentType ? TProps : never); export interface IFormButton extends Component> { }