import React from "react";

//#region src/Blankslate/Blankslate.d.ts
type BlankslateProps = React.HTMLAttributes<HTMLElement> & {
  /**
   * Add a border around this component
   */
  border?: boolean;
  /**
   * Provide an optional class name to be applied to the container element
   */
  className?: string;
  /**
   * Constrain the maximum width of this component
   */
  narrow?: boolean;
  /**
   * Increase the padding of this component
   */
  spacious?: boolean;
  /**
   * Specify the size of this component
   */
  size?: 'small' | 'medium' | 'large';
};
declare function Blankslate({
  border,
  children,
  narrow,
  spacious,
  className,
  size,
  ...rest
}: BlankslateProps): React.JSX.Element;
type BlankslateVisualProps = React.HTMLAttributes<HTMLElement>;
declare function Visual({
  children,
  className,
  ...rest
}: BlankslateVisualProps): React.JSX.Element;
type BlankslateHeadingProps = React.HTMLAttributes<HTMLElement> & {
  as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
};
declare function Heading({
  as: Component,
  children,
  className,
  ...rest
}: BlankslateHeadingProps): React.JSX.Element;
type BlankslateDescriptionProps = React.HTMLAttributes<HTMLElement>;
declare function Description({
  children,
  className,
  ...rest
}: BlankslateDescriptionProps): React.JSX.Element;
type BlankslatePrimaryActionProps = (React.PropsWithChildren<{
  href?: never;
}> & React.ComponentPropsWithoutRef<'button'>) | React.PropsWithChildren<{
  href: string;
}>;
declare function PrimaryAction({
  children,
  href,
  ...props
}: BlankslatePrimaryActionProps): React.JSX.Element;
type BlankslateSecondaryActionProps = React.PropsWithChildren<{
  href: string;
}>;
declare function SecondaryAction({
  children,
  href
}: BlankslateSecondaryActionProps): React.JSX.Element;
//#endregion
export { Blankslate, type BlankslateDescriptionProps, type BlankslateHeadingProps, type BlankslatePrimaryActionProps, type BlankslateProps, type BlankslateSecondaryActionProps, type BlankslateVisualProps, Description, Heading, PrimaryAction, SecondaryAction, Visual };