import type { OnOffStyles, ThemeColors, GradientColors, GradientDuoToneColors, Sizes } from "../Flowbite/FlowbiteTheme"; import type { PositionInButtonGroup, PositionInButtonGroupKeys } from "./ButtonGroup"; import { ComponentProps, JSX } from "solid-js"; export interface ButtonTheme { base: string; fullSized: string; color: ButtonColors; disabled: string; gradient: ButtonGradientColors; gradientDuoTone: ButtonGradientDuoToneColors; inner: { base: string; position: PositionInButtonGroup; outline: string; }; label: string; outline: OnOffStyles & { color: ButtonOutlineColors; pill: OnOffStyles; }; pill: OnOffStyles; size: ButtonSizes; } export interface ButtonColors extends Pick { [key: string]: string; } export interface ButtonGradientColors extends GradientColors { [key: string]: string; } export interface ButtonGradientDuoToneColors extends GradientDuoToneColors { [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"> { color?: keyof ButtonColors; gradientDuoTone?: keyof ButtonGradientDuoToneColors; gradientMonochrome?: keyof ButtonGradientColors; href?: string; label?: JSX.Element; outline?: boolean; fullSized?: boolean; pill?: boolean; positionInGroup?: PositionInButtonGroupKeys; size?: keyof ButtonSizes; } export declare const Button: { (p: ButtonProps): JSX.Element; displayName: string; } & { Group: { (p: import("./ButtonGroup").ButtonGroupProps): JSX.Element; displayName: string; }; };