import React, { PropsWithoutRef, RefAttributes } from 'react'; import { ButtonTypes, NormalSizes, TextTransformTypes, AlignmentTypes } from '../utils/prop-types'; import ButtonGroup from './ButtonGroup'; import ButtonLink from './ButtonLink'; interface ButtonSProps { as?: string; size?: NormalSizes; ghost?: Boolean; borderRadius?: string; borderColor?: string; borderHover?: string; borderWidth?: string; borderStyle?: string; fontSize?: string; fontFamily?: string; fontWeight?: string; variation?: ButtonTypes; textTransform?: TextTransformTypes; alignment?: AlignmentTypes; textColor?: string; backgroundColor?: string; suffixIcon?: any; prefixIcon?: any; css?: any; width?: any; } export declare const ButtonS: import("styled-components").StyledComponent<"button", any, ButtonSProps, never>; /** END OF STYLE **/ export interface Props { variation?: ButtonTypes; size?: NormalSizes; alignment?: AlignmentTypes; children?: React.ReactNode; ghost?: boolean; loading?: boolean; shadow?: boolean; auto?: boolean; effect?: boolean; disabled?: boolean; type?: React.ButtonHTMLAttributes['type']; prefixIcon?: React.ReactNode; suffixIcon?: React.ReactNode; onClick?: () => any; border?: string; borderRadius?: string; borderColor?: string; borderHover?: string; borderWidth?: string; borderStyle?: string; className?: string; fontSize?: string; fontFamily?: string; fontWeight?: string; textTransform?: TextTransformTypes; textColor?: string; backgroundColor?: string; css?: any; width?: any; } declare const defaultProps: { variation: "primary" | "default" | "secondary" | "success" | "warning" | "error"; size: "mini" | "small" | "medium" | "large" | "fluid" | "auto"; type: "reset" | "button" | "submit" | undefined; ghost: boolean; loading: boolean; shadow: boolean; auto: boolean; effect: boolean; disabled: boolean; vertical: boolean; className: string; borderRadius: string; borderColor: string; borderHover: string; borderStyle: string; borderWidth: string; fontSize: string; fontFamily: string; fontWeight: string; textTransform: "capitalize" | "lowercase" | "uppercase" | "inherit" | "revert" | "initial"; textColor: string; backgroundColor: string; alignment: "flex-start" | "flex-end" | "center"; }; declare type NativeAttrs = Omit, keyof Props>; export declare type ButtonProps = Props & typeof defaultProps & NativeAttrs; declare type ButtonComponent = React.ForwardRefExoticComponent & RefAttributes> & { Group: typeof ButtonGroup; Link: typeof ButtonLink; }; declare type ComponentProps = Partial & Omit & NativeAttrs; declare const _default: ButtonComponent; export default _default;