import type React from 'react'; import type { BadgeProps } from '../badge'; import type { TooltipProps } from '../tooltip'; export type FloatButtonElement = HTMLAnchorElement & HTMLButtonElement; export interface FloatButtonRef { nativeElement: FloatButtonElement | null; } export type FloatButtonType = 'default' | 'primary'; export type FloatButtonShape = 'circle' | 'square'; export type FloatButtonGroupTrigger = 'click' | 'hover'; export type FloatButtonBadgeProps = Omit; export interface FloatButtonProps extends React.DOMAttributes { prefixCls?: string; className?: string; rootClassName?: string; style?: React.CSSProperties; icon?: React.ReactNode; description?: React.ReactNode; type?: FloatButtonType; shape?: FloatButtonShape; tooltip?: TooltipProps['title']; href?: string; target?: React.HTMLAttributeAnchorTarget; badge?: FloatButtonBadgeProps; ['aria-label']?: React.HtmlHTMLAttributes['aria-label']; } export interface FloatButtonContentProps extends React.DOMAttributes { className?: string; icon?: FloatButtonProps['icon']; description?: FloatButtonProps['description']; prefixCls: FloatButtonProps['prefixCls']; } export interface FloatButtonGroupProps extends FloatButtonProps { children: React.ReactNode; trigger?: FloatButtonGroupTrigger; open?: boolean; closeIcon?: React.ReactNode; onOpenChange?: (open: boolean) => void; } export interface BackTopProps extends Omit { visibilityHeight?: number; onClick?: React.MouseEventHandler; target?: () => HTMLElement | Window | Document; prefixCls?: string; children?: React.ReactNode; className?: string; rootClassName?: string; style?: React.CSSProperties; duration?: number; }