import { type ComponentProps, type ReactNode } from 'react'; import type { FlowbiteBoolean, FlowbiteColors, FlowbiteGradientColors, FlowbiteGradientDuoToneColors, FlowbiteSizes } from '../Flowbite/FlowbiteTheme'; import type { PositionInButtonGroup } from './ButtonGroup'; export interface FlowbiteButtonTheme { base: string; fullSized: string; color: ButtonColors; disabled: string; gradient: ButtonGradientColors; gradientDuoTone: ButtonGradientDuoToneColors; inner: { base: string; position: PositionInButtonGroup; outline: string; }; label: string; outline: FlowbiteBoolean & { color: ButtonOutlineColors; pill: FlowbiteBoolean; }; pill: FlowbiteBoolean; size: ButtonSizes; } export interface ButtonColors extends Pick { [key: string]: string; } export interface ButtonGradientColors extends FlowbiteGradientColors { [key: string]: string; } export interface ButtonGradientDuoToneColors extends FlowbiteGradientDuoToneColors { [key: string]: string; } export interface ButtonOutlineColors extends Pick { [key: string]: string; } export interface ButtonSizes extends Pick { [key: string]: string; } export interface ButtonProps extends Omit, 'color' | 'ref'> { color?: keyof ButtonColors; gradientDuoTone?: keyof ButtonGradientDuoToneColors; gradientMonochrome?: keyof ButtonGradientColors; href?: string; label?: ReactNode; outline?: boolean; fullSized?: boolean; pill?: boolean; positionInGroup?: keyof PositionInButtonGroup; size?: keyof ButtonSizes; } export declare const Button: import("react").ForwardRefExoticComponent> & { Group: import("react").FC; };