// Generated by dts-bundle-generator v7.2.0 import React from 'react'; import { ButtonHTMLAttributes, ComponentPropsWithRef, HTMLAttributes, ReactNode } from 'react'; export type Merge = Omit & P2; export type ForwardRefExoticComponent = React.ForwardRefExoticComponent : never, OwnProps & { as?: E; }>>; export interface PolymorphicForwardRefComponent extends ForwardRefExoticComponent { /** * When `as` prop is passed, use this overload. * Merges original own props (without DOM props) and the inferred props * from `as` element with the own props taking precendence. * * We explicitly avoid `React.ElementType` and manually narrow the prop types * so that events are typed when using JSX.IntrinsicElements. */ (props: As extends "" ? { as: keyof React.JSX.IntrinsicElements; } : As extends React.ComponentType ? Merge : As extends keyof React.JSX.IntrinsicElements ? Merge : never): React.ReactElement | null; } export interface SkeletonProperties { /** * Width of the skeleton. Useful when the skeleton is inside an inline element with no width of its own. */ width: string; /** * Height of the skeleton. Useful when you don't want to adapt the skeleton to a text element but for instance a card. */ height: string; /** * The border radius of the skeleton. */ borderRadius?: string; /** * This is an attribute used to identify a DOM node for testing purposes. */ "data-testid"?: string; } export type SkeletonProps = SkeletonProperties & HTMLAttributes; export type ButtonSkeletonProperties = Partial>; export type ButtonSkeletonProps = ButtonSkeletonProperties; declare const ButtonSkeleton: React.FC; export interface ButtonComponents { Skeleton: typeof ButtonSkeleton; } export interface ButtonProperties { /** * The content of the button. * @TJS-type React.ReactNode */ children: ReactNode; /** * Change the visual style of the button. * @default neutral */ appearance?: "primary" | "danger" | "neutral" | "transparent" | "ai-primary" | "ai-secondary"; /** * Disables the button, disallowing user interaction. * @default false */ disabled?: boolean; /** * Determines if the button should grow to fill the full width of its container. * @default false */ fullWidth?: boolean; /** * Change the size of the button. * @default medium */ size?: "large" | "medium" | "small"; } export type ButtonBaseProps = ButtonProperties & ButtonHTMLAttributes; export declare const Button: PolymorphicForwardRefComponent<"a" | "button", ButtonBaseProps> & ButtonComponents; export type ButtonProps = ComponentPropsWithRef; export { Button as default, }; export {};