import * as React from 'react';

/**
 * Button — from @kibrisyazilim/design-system@0.1.0.
 * @replaces button
 */
export interface ButtonProps {
  /** Visual weight. `primary` is the single main action on a screen. */
  variant?: "danger" | "primary" | "secondary" | "ghost";
  size?: "sm" | "md" | "lg";
  /** Shows a spinner in place of `iconStart` and blocks interaction. The label stays visible so the button still says what it */
  loading?: boolean;
  /** Stretches to the width of the container. */
  fullWidth?: boolean;
  /** Icon rendered before the label. */
  iconStart?: React.ReactNode;
  /** Icon rendered after the label. */
  iconEnd?: React.ReactNode;
  className?: string;
  id?: string;
  style?: CSSProperties;
  children?: React.ReactNode;
}

export declare const Button: React.ComponentType<ButtonProps>;
