/* tslint:disable */
/**
 * This is an autogenerated file created by the Stencil compiler.
 * It contains typing information for all components that exist in this project.
 */


import { HTMLStencilElement, JSXBase } from './stencil.core';


export namespace Components {
  interface MyComponent {
    /**
    * The first name
    */
    'first': string;
    /**
    * The last name
    */
    'last': string;
    /**
    * The middle name
    */
    'middle': string;
  }
  interface SimpleButton {
    /**
    * Show number of clicks
    */
    'showNbOfClick': boolean;
    /**
    * theme
    */
    'theme': string;
  }
}

declare global {


  interface HTMLMyComponentElement extends Components.MyComponent, HTMLStencilElement {}
  var HTMLMyComponentElement: {
    prototype: HTMLMyComponentElement;
    new (): HTMLMyComponentElement;
  };

  interface HTMLSimpleButtonElement extends Components.SimpleButton, HTMLStencilElement {}
  var HTMLSimpleButtonElement: {
    prototype: HTMLSimpleButtonElement;
    new (): HTMLSimpleButtonElement;
  };
  interface HTMLElementTagNameMap {
    'my-component': HTMLMyComponentElement;
    'simple-button': HTMLSimpleButtonElement;
  }
}

declare namespace LocalJSX {
  interface MyComponent {
    /**
    * The first name
    */
    'first'?: string;
    /**
    * The last name
    */
    'last'?: string;
    /**
    * The middle name
    */
    'middle'?: string;
  }
  interface SimpleButton {
    /**
    * Show number of clicks
    */
    'showNbOfClick'?: boolean;
    /**
    * theme
    */
    'theme'?: string;
  }

  interface IntrinsicElements {
    'my-component': MyComponent;
    'simple-button': SimpleButton;
  }
}

export { LocalJSX as JSX };


declare module "@stencil/core" {
  export namespace JSX {
    interface IntrinsicElements {
      'my-component': LocalJSX.MyComponent & JSXBase.HTMLAttributes<HTMLMyComponentElement>;
      'simple-button': LocalJSX.SimpleButton & JSXBase.HTMLAttributes<HTMLSimpleButtonElement>;
    }
  }
}


