import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
import type { Color } from '../../interface';
export interface ButtonInterface {
  type: 'submit' | 'reset' | 'button';
  disabled: boolean;
}
/**
 * @slot - Content is placed between the named slots if provided without a slot.
 * @slot icon-only - Should be used on an icon in a button that has no text.
 * @slot start - Content is placed to the left of the button text in LTR, and to the right in RTL.
 * @slot end - Content is placed to the right of the button text in LTR, and to the left in RTL.
 *
 * @part native - The native HTML button or anchor element that wraps all child elements.
 */
export declare class GascoButton implements ComponentInterface, ButtonInterface {
  private inItem;
  private inToolbar;
  private inListHeader;
  private inheritedAttributes;
  el: HTMLElement;
  /**
   * The color to use from your application's color palette.
   * Default options are: `"primary"`, `"secondary"`, `"success"`, `"warning"` and `"danger"`.
   */
  color?: Color;
  /**
   * The type of button.
   */
  buttonType: string;
  /**
   * If `true`, the user cannot interact with the button.
   */
  disabled: boolean;
  /**
   * If `true`, the user cannot interact with the button in progress.
   */
  progress: boolean;
  /**
   * Set to `"block"` for a full-width button or to `"full"` for a full-width button
   * without left and right borders.
   */
  /**
   * Set to `"clear"` for a transparent button, to `"outline"` for a transparent
   * button with a border, or to `"solid"`. The default style is `"solid"` except inside of
   * a toolbar, where the default is `"clear"`.
   */
  fill?: 'clear' | 'outline' | 'solid' | 'default';
  /**
   * The button shape.
   */
  shape?: 'round';
  /**
   * The button size.
   */
  size?: 'small' | 'default' | 'large';
  /**
   * If `true`, activates a button with a heavier font weight.
   */
  strong: boolean;
  /**
   * The type of the button.
   */
  type: 'submit' | 'reset' | 'button';
  /**
   * Emitted when the button has focus.
   */
  gascoFocus: EventEmitter<void>;
  /**
   * Emitted when the button loses focus.
   */
  gascoBlur: EventEmitter<void>;
  componentWillLoad(): void;
  private get hasIconOnly();
  private onFocus;
  private onBlur;
  render(): any;
}
