/* eslint-disable */
/* 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/internal";
import { AnywhereTheme } from "./components/interfaces";
import { AwStatus } from "./models/status.model";
import { AwButtonColor, AwButtonIconMode, AwButtonMode, AwButtonSize } from "./components/aw-button/aw-button.model";
export namespace Components {
    interface AwButton {
        /**
          * Colors of button (like gradient)
         */
        "color": AwButtonColor;
        /**
          * Boolean to indicate if button is disabled
         */
        "disabled": boolean;
        /**
          * If `true` button use `width: 100%`
         */
        "fullWidth": boolean;
        /**
          * Icon class from FontAwesome 5 Free Allows to use: brands, regular, solid Example: 'far fa-paper-plane'
         */
        "icon": string;
        /**
          * Position of icon
         */
        "iconMode": AwButtonIconMode;
        /**
          * Optional ID to be attached on button
         */
        "id": string;
        /**
          * Text to show inside button
         */
        "label": string;
        /**
          * Add a loading indicator to button You need add a manual control to remove loading
         */
        "loading": boolean;
        /**
          * Mode of button (like square or rounded)
         */
        "mode": AwButtonMode;
        /**
          * If `true` button removes label
         */
        "onlyIcon": boolean;
        /**
          * Size of button
         */
        "size": AwButtonSize;
        /**
          * The status of button (color)
         */
        "status": AwStatus;
        "theme": AnywhereTheme;
    }
    interface AwLoading {
        "status": AwStatus;
        "visible": boolean;
    }
}
declare global {
    interface HTMLAwButtonElement extends Components.AwButton, HTMLStencilElement {
    }
    var HTMLAwButtonElement: {
        prototype: HTMLAwButtonElement;
        new (): HTMLAwButtonElement;
    };
    interface HTMLAwLoadingElement extends Components.AwLoading, HTMLStencilElement {
    }
    var HTMLAwLoadingElement: {
        prototype: HTMLAwLoadingElement;
        new (): HTMLAwLoadingElement;
    };
    interface HTMLElementTagNameMap {
        "aw-button": HTMLAwButtonElement;
        "aw-loading": HTMLAwLoadingElement;
    }
}
declare namespace LocalJSX {
    interface AwButton {
        /**
          * Colors of button (like gradient)
         */
        "color"?: AwButtonColor;
        /**
          * Boolean to indicate if button is disabled
         */
        "disabled"?: boolean;
        /**
          * If `true` button use `width: 100%`
         */
        "fullWidth"?: boolean;
        /**
          * Icon class from FontAwesome 5 Free Allows to use: brands, regular, solid Example: 'far fa-paper-plane'
         */
        "icon"?: string;
        /**
          * Position of icon
         */
        "iconMode"?: AwButtonIconMode;
        /**
          * Optional ID to be attached on button
         */
        "id"?: string;
        /**
          * Text to show inside button
         */
        "label": string;
        /**
          * Add a loading indicator to button You need add a manual control to remove loading
         */
        "loading"?: boolean;
        /**
          * Mode of button (like square or rounded)
         */
        "mode"?: AwButtonMode;
        /**
          * Emitted when button is clicked Captured by onClick listener. > Note: if button was disabled event can't be dispatch
         */
        "onClicked"?: (event: CustomEvent<UIEvent>) => void;
        /**
          * If `true` button removes label
         */
        "onlyIcon"?: boolean;
        /**
          * Size of button
         */
        "size"?: AwButtonSize;
        /**
          * The status of button (color)
         */
        "status"?: AwStatus;
        "theme"?: AnywhereTheme;
    }
    interface AwLoading {
        "status"?: AwStatus;
        "visible"?: boolean;
    }
    interface IntrinsicElements {
        "aw-button": AwButton;
        "aw-loading": AwLoading;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "aw-button": LocalJSX.AwButton & JSXBase.HTMLAttributes<HTMLAwButtonElement>;
            "aw-loading": LocalJSX.AwLoading & JSXBase.HTMLAttributes<HTMLAwLoadingElement>;
        }
    }
}
