import { ButtonColor, ButtonType, CssClassMap, Size } from '../../interfaces';
/**
 * The Button component.
 *
 * @slot - Content placed inside the button.
 */
export declare class Button {
  /**
   * The host element.
   */
  element: HTMLElement;
  /**
   * The button type.
   */
  type: ButtonType;
  /**
   * The button name.
   */
  name?: string;
  /**
   * The button value.
   */
  value?: any;
  /**
   * The button color.
   */
  color?: ButtonColor;
  /**
   * The button size.
   */
  size?: Size;
  /**
   * Whether to use the block style variant of the button.
   *
   * This makes the button full width within its container.
   */
  block: false;
  /**
   * Whether to use the outline style variant of the button.
   *
   * This removes the background from the button when it's not hovered.
   */
  outline: boolean;
  /**
   * Whether the button is disabled.
   */
  disabled: boolean;
  /**
   * Submit or reset the closest form on click when in the Shadow DOM.
   */
  onClick(): void;
  /**
   * Propagate a focus event.
   *
   * Used to propagate `<button>` focus events through the Shadow DOM boundary
   * in the case that they aren't by the browser.
   *
   * @param {FocusEvent} event
   */
  private onFocusEvent;
  /**
   * Get the map of CSS classes for the button.
   *
   * @return CssClassMap
   */
  getClassMap(): CssClassMap;
  /**
   * Render the component.
   */
  render(): any;
}
