/* 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-public-runtime";
import { ButtonVariant, Color, Variant } from "./shared/types";
import { AlertTransition } from "./components/bs-alert/bs-alert";
import { ButtonSize, ButtonType } from "./components/bs-button/bs-button";
import { ButtonGroupRole, ButtonGroupSize } from "./components/bs-button-group/bs-button-group";
import { Placement } from "@popperjs/core";
import { FormElementTypes } from "./components/bs-form-control/bs-form-control";
import { HorizontalLayout } from "./components/bs-list-group/bs-list-group";
import { NavVariant } from "./components/bs-nav/bs-nav";
import { NavVariant as NavVariant1 } from "./components/bs-nav/bs-nav";
import { SpinnerAnimation, SpinnerSize } from "./components/bs-spinner/bs-spinner";
export { ButtonVariant, Color, Variant } from "./shared/types";
export { AlertTransition } from "./components/bs-alert/bs-alert";
export { ButtonSize, ButtonType } from "./components/bs-button/bs-button";
export { ButtonGroupRole, ButtonGroupSize } from "./components/bs-button-group/bs-button-group";
export { Placement } from "@popperjs/core";
export { FormElementTypes } from "./components/bs-form-control/bs-form-control";
export { HorizontalLayout } from "./components/bs-list-group/bs-list-group";
export { NavVariant } from "./components/bs-nav/bs-nav";
export { NavVariant as NavVariant1 } from "./components/bs-nav/bs-nav";
export { SpinnerAnimation, SpinnerSize } from "./components/bs-spinner/bs-spinner";
export namespace Components {
    interface BsAlert {
        "closeLabel": string;
        "dismissible": boolean;
        "removeOnClose": boolean;
        "show": boolean;
        "transition": AlertTransition;
        "variant": Variant;
    }
    interface BsBadge {
        "href": string;
        "pill": boolean;
        "variant": Variant;
    }
    interface BsBreadcrumb {
        "active": boolean;
        "href": string;
        "linkTitle": string;
        "target": string;
    }
    interface BsBreadcrumbs {
        "ariaLabel": string;
        "separator": string;
    }
    interface BsButton {
        "active": boolean;
        "block": boolean;
        "disabled": boolean;
        "href": string;
        "iconLeft": string;
        "iconRight": string;
        "size": ButtonSize;
        "type": ButtonType;
        "variant": ButtonVariant;
    }
    interface BsButtonGroup {
        "ariaLabel": string;
        "role": ButtonGroupRole;
        "size": ButtonGroupSize;
        "vertical": boolean;
    }
    interface BsCard {
        "body": boolean;
        "variant": Variant;
    }
    interface BsCardBody {
    }
    interface BsCardFooter {
    }
    interface BsCardHeader {
    }
    interface BsCardImage {
    }
    interface BsCarousel {
        "animation": 'fade' | 'slide';
        "autoplay": boolean;
        "autoplayInterval": number;
        "controls": boolean;
        "indicators": boolean;
        "itemsToShow": number;
        "pause": () => Promise<void>;
        "pauseOnHover": boolean;
        "play": () => Promise<void>;
        "speed": number;
        "swipe": boolean;
    }
    interface BsCollapse {
        /**
          * where to show the visual indicator that the collapse is open or closed pass an empty string to hide the arrow
         */
        "arrowPosition": 'left' | 'right' | '';
        "collapseId": string;
        /**
          * Group identifier to group collapse
         */
        "groupId"?: string;
        /**
          * The accordion default state
         */
        "isOpen": boolean;
        /**
          * the accordion label which will show up on the accordion button
         */
        "name": string;
    }
    interface BsDropdown {
        /**
          * if true, toggle will automatically have a caret added to represent where the dropdown will appear
         */
        "caret": boolean;
        /**
          * A method exposed on bs-dropdown elements to hide the dropdown  example: document.querySelector('bs-dropdown').hideDropdown()
         */
        "hideDropdown": () => Promise<void>;
        /**
          * whether to close the dropdown when clicking outside of it
         */
        "hideOnClickOutside": boolean;
        /**
          * where the dropdown should appear (see: https://popper.js.org/docs/v2/constructors/#options)
         */
        "placement": Placement;
        /**
          * used to control the dropdown visiblity manually, rather than relying on toggle clicks
         */
        "show": boolean;
        /**
          * A method exposed on bs-dropdown elements to show the dropdown  example: document.querySelector('bs-dropdown').showDropdown()
         */
        "showDropdown": () => Promise<void>;
        /**
          * the caret and button content will be split, and the dropdown will show up only when clicking the caret
         */
        "split": boolean;
        /**
          * A method exposed on bs-dropdown elements to toggle the dropdowns visibility  example: document.querySelector('bs-dropdown').toggleDropdown()
         */
        "toggleDropdown": () => Promise<void>;
    }
    interface BsFormCheck {
        /**
          * Determines selected item.
         */
        "checked"?: boolean;
        /**
          * The input id.
         */
        "controlId"?: string;
        /**
          * Disables the radio or checkbox from edit or copy.
         */
        "disabled"?: boolean;
        /**
          * Determines the orientation of radio and checkbox to horizontal.
         */
        "inline"?: boolean;
        /**
          * The name of input
         */
        "name"?: string;
        /**
          * Sets the width/height of the checkbox
         */
        "size": number;
        /**
          * This specifies what type of input is.
         */
        "type"?: 'checkbox' | 'radio';
        /**
          * The value of the input
         */
        "value": string | string[] | number;
    }
    interface BsFormCheckGroup {
        /**
          * The value of the radio selection
         */
        "value": any;
    }
    interface BsFormControl {
        /**
          * Determines what form control the component is.
         */
        "as": FormElementTypes;
        /**
          * The element id.
         */
        "controlId"?: string;
        /**
          * Disables the input / select / textarea from edit or copy.
         */
        "disabled"?: boolean;
        /**
          * Specifies how much of the input is shown.
         */
        "htmlSize"?: number;
        /**
          * Determines the input as invalid
         */
        "isInvalid"?: boolean;
        /**
          * Determines the input as valid
         */
        "isValid"?: boolean;
        /**
          * The name is the input/textarea/select element name.
         */
        "name": string;
        /**
          * Used to determine the constraints for validation.
         */
        "pattern": string;
        /**
          * The placeholder text for the input/textarea.
         */
        "placeholder"?: string;
        /**
          * The value of the input is not editable.
         */
        "readOnly"?: boolean;
        /**
          * Used for making form control required.
         */
        "required": boolean;
        /**
          * Used to change the size of inputs and labels respectively.
         */
        "size"?: 'sm' | 'lg';
        /**
          * This specifies what type of input is. View MDN docs https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input
         */
        "type"?: string;
        /**
          * The value of the input/
         */
        "value"?: string | string[] | number;
    }
    interface BsFormFile {
        /**
          * The kinds of files accepted constraints
         */
        "accept": string;
        /**
          * the disabled flag for the file input
         */
        "disabled": boolean;
        /**
          * The id of the element
         */
        "fileId": string;
        /**
          * The label or placeholder of the file
         */
        "label"?: string;
    }
    interface BsFormGroup {
        "controlId": any;
        "md": number;
        "stack": boolean;
    }
    interface BsFormLabel {
        "column": boolean | 'sm' | 'lg';
        "htmlFor": string;
        "srcOnly": boolean;
    }
    interface BsFormRow {
    }
    interface BsIcon {
        "icon": string;
        "loadOnScrollTo": boolean;
        "scrollMargin": string;
        "size": number;
    }
    interface BsListGroup {
        "flush": boolean;
        "horizontal": HorizontalLayout;
    }
    interface BsListGroupItem {
        /**
          * The item is clickable
         */
        "actionable": boolean;
        /**
          * Active state view of list
         */
        "active": boolean;
        /**
          * Specify the list item's background color
         */
        "bgColor": Color;
        /**
          * The disabled view of list
         */
        "disabled": boolean;
        /**
          * The role lof the items for accessibility
         */
        "role": string;
    }
    interface BsModal {
        /**
          * open and close the modal with a slide and fade animation
         */
        "animation": boolean;
        /**
          * whether to use a backdrop or not
         */
        "backdrop": boolean;
        /**
          * if content inside the modal should be vertically centered
         */
        "centered": boolean;
        /**
          * an exposed method to hide the dialog
         */
        "closeDialog": () => Promise<void>;
        /**
          * equivalent to closeDialog()
         */
        "hideDialog": () => Promise<void>;
        /**
          * if content inside the modal should be scrollable
         */
        "scrollable": boolean;
        /**
          * whether the modal is visible or not
         */
        "show": boolean;
        /**
          * an exposed method to show the dialog
         */
        "showDialog": () => Promise<void>;
        /**
          * if static, the modal will not close when the backdrop is clicked
         */
        "static": boolean;
        /**
          * change the width of the modal
         */
        "width": number;
    }
    interface BsModalBody {
    }
    interface BsModalDialog {
        /**
          * if the content of the dialog should be vertically centered
         */
        "centered": boolean;
        /**
          * if the content of the dialog should be scrollable
         */
        "scrollable": boolean;
        /**
          * change the width of the modal
         */
        "width": number;
    }
    interface BsModalFooter {
    }
    interface BsModalHeader {
        /**
          * whether the modal header should contain a close button
         */
        "closeButton": boolean;
        /**
          * an accessible label for the close button
         */
        "closeLabel": string;
        /**
          * the title of the modal
         */
        "modalTitle": string;
    }
    interface BsNav {
        "fill": boolean;
        "justify": boolean;
        "listRole": string;
        "role": string;
        "variant": NavVariant;
        "vertical": boolean;
    }
    interface BsNavItem {
        "active": boolean;
        "disabled": boolean;
        "href": string;
        "role": string;
        "variant": NavVariant1;
    }
    interface BsPageItem {
        /**
          * whether the item should be styled as active
         */
        "active": boolean;
        /**
          * An accessible label indicating the active state
         */
        "activeLabel": string;
        /**
          * whether the item should be disabled
         */
        "disabled": boolean;
        /**
          * the href for the item, if needed
         */
        "href": string;
        /**
          * optional, size of the page item
         */
        "size": 'sm' | 'lg';
    }
    interface BsPagination {
        /**
          * change alignment of pagination
         */
        "align": 'left' | 'center' | 'right';
        /**
          * turn off controlled to handle display of page items manually
         */
        "controlled": boolean;
        /**
          * a descriptive label to reflect the purpose of the pagination
         */
        "label": string;
        /**
          * if there are more than maxVisiblePages, the pagination will show clickable ellipsis when needed to hide them
         */
        "maxVisiblePages": number;
        /**
          * set page to override the current page
         */
        "page": number;
        /**
          * set page count so pagination knows how to display it's items
         */
        "pageCount": number;
        /**
          * an exposed method to manually set the page
          * @param pageNumber
         */
        "setPageTo": (pageNumber: number) => Promise<void>;
        /**
          * optional, size of the pagination items
         */
        "size": 'sm' | 'lg';
    }
    interface BsSpinner {
        "animation": SpinnerAnimation;
        "loadingText": string;
        "role": string;
        "size": SpinnerSize;
        "variant": Variant;
    }
    interface BsToast {
        /**
          * Delay hiding the toast (ms)
         */
        "autohide": boolean;
        /**
          * make toast closable
         */
        "canClose"?: boolean;
        /**
          * Delay hiding the toast (ms)
         */
        "delay": number;
        /**
          * Position of the toast
         */
        "gravity": "top" | "bottom";
        /**
          * toast destination
         */
        "href"?: string;
        /**
          * The header name of the toast
         */
        "message": string;
        /**
          * The header name of the toast
         */
        "name"?: string;
        /**
          * href in newWindow
         */
        "newWindow"?: boolean;
        /**
          * Position of the toast
         */
        "position": "left" | "center" | "right";
        /**
          * When `true` The toast will show itself.
         */
        "show": boolean;
        /**
          * Closes the toast
         */
        "toastClose": () => Promise<void>;
        /**
          * Opens the toast
         */
        "toastOpen": () => Promise<void>;
    }
    interface BsTooltip {
        /**
          * A method exposed on bs-tooltip elements to hide the tooltip
         */
        "hideTooltip": () => Promise<void>;
        /**
          * where the tooltip should appear (see: https://popper.js.org/docs/v2/constructors/#options)
         */
        "placement": Placement;
        /**
          * used to control the tooltip visiblity manually, rather than relying on toggle hover
         */
        "show": boolean;
        /**
          * A method exposed on bs-tooltip elements to show the tooltip
         */
        "showTooltip": () => Promise<void>;
        /**
          * A method exposed on bs-tooltip elements to toggle the tooltips visibility
         */
        "toggleTooltip": () => Promise<void>;
        /**
          * for simple tooltips, text to display in the tooltip (or use a slot for complex tooltip content)
         */
        "tooltipContent": string;
    }
}
export interface BsAlertCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsAlertElement;
}
export interface BsCollapseCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsCollapseElement;
}
export interface BsFormCheckCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsFormCheckElement;
}
export interface BsFormCheckGroupCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsFormCheckGroupElement;
}
export interface BsFormControlCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsFormControlElement;
}
export interface BsFormFileCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsFormFileElement;
}
export interface BsModalCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsModalElement;
}
export interface BsModalHeaderCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsModalHeaderElement;
}
export interface BsPaginationCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsPaginationElement;
}
export interface BsToastCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsToastElement;
}
declare global {
    interface HTMLBsAlertElement extends Components.BsAlert, HTMLStencilElement {
    }
    var HTMLBsAlertElement: {
        prototype: HTMLBsAlertElement;
        new (): HTMLBsAlertElement;
    };
    interface HTMLBsBadgeElement extends Components.BsBadge, HTMLStencilElement {
    }
    var HTMLBsBadgeElement: {
        prototype: HTMLBsBadgeElement;
        new (): HTMLBsBadgeElement;
    };
    interface HTMLBsBreadcrumbElement extends Components.BsBreadcrumb, HTMLStencilElement {
    }
    var HTMLBsBreadcrumbElement: {
        prototype: HTMLBsBreadcrumbElement;
        new (): HTMLBsBreadcrumbElement;
    };
    interface HTMLBsBreadcrumbsElement extends Components.BsBreadcrumbs, HTMLStencilElement {
    }
    var HTMLBsBreadcrumbsElement: {
        prototype: HTMLBsBreadcrumbsElement;
        new (): HTMLBsBreadcrumbsElement;
    };
    interface HTMLBsButtonElement extends Components.BsButton, HTMLStencilElement {
    }
    var HTMLBsButtonElement: {
        prototype: HTMLBsButtonElement;
        new (): HTMLBsButtonElement;
    };
    interface HTMLBsButtonGroupElement extends Components.BsButtonGroup, HTMLStencilElement {
    }
    var HTMLBsButtonGroupElement: {
        prototype: HTMLBsButtonGroupElement;
        new (): HTMLBsButtonGroupElement;
    };
    interface HTMLBsCardElement extends Components.BsCard, HTMLStencilElement {
    }
    var HTMLBsCardElement: {
        prototype: HTMLBsCardElement;
        new (): HTMLBsCardElement;
    };
    interface HTMLBsCardBodyElement extends Components.BsCardBody, HTMLStencilElement {
    }
    var HTMLBsCardBodyElement: {
        prototype: HTMLBsCardBodyElement;
        new (): HTMLBsCardBodyElement;
    };
    interface HTMLBsCardFooterElement extends Components.BsCardFooter, HTMLStencilElement {
    }
    var HTMLBsCardFooterElement: {
        prototype: HTMLBsCardFooterElement;
        new (): HTMLBsCardFooterElement;
    };
    interface HTMLBsCardHeaderElement extends Components.BsCardHeader, HTMLStencilElement {
    }
    var HTMLBsCardHeaderElement: {
        prototype: HTMLBsCardHeaderElement;
        new (): HTMLBsCardHeaderElement;
    };
    interface HTMLBsCardImageElement extends Components.BsCardImage, HTMLStencilElement {
    }
    var HTMLBsCardImageElement: {
        prototype: HTMLBsCardImageElement;
        new (): HTMLBsCardImageElement;
    };
    interface HTMLBsCarouselElement extends Components.BsCarousel, HTMLStencilElement {
    }
    var HTMLBsCarouselElement: {
        prototype: HTMLBsCarouselElement;
        new (): HTMLBsCarouselElement;
    };
    interface HTMLBsCollapseElement extends Components.BsCollapse, HTMLStencilElement {
    }
    var HTMLBsCollapseElement: {
        prototype: HTMLBsCollapseElement;
        new (): HTMLBsCollapseElement;
    };
    interface HTMLBsDropdownElement extends Components.BsDropdown, HTMLStencilElement {
    }
    var HTMLBsDropdownElement: {
        prototype: HTMLBsDropdownElement;
        new (): HTMLBsDropdownElement;
    };
    interface HTMLBsFormCheckElement extends Components.BsFormCheck, HTMLStencilElement {
    }
    var HTMLBsFormCheckElement: {
        prototype: HTMLBsFormCheckElement;
        new (): HTMLBsFormCheckElement;
    };
    interface HTMLBsFormCheckGroupElement extends Components.BsFormCheckGroup, HTMLStencilElement {
    }
    var HTMLBsFormCheckGroupElement: {
        prototype: HTMLBsFormCheckGroupElement;
        new (): HTMLBsFormCheckGroupElement;
    };
    interface HTMLBsFormControlElement extends Components.BsFormControl, HTMLStencilElement {
    }
    var HTMLBsFormControlElement: {
        prototype: HTMLBsFormControlElement;
        new (): HTMLBsFormControlElement;
    };
    interface HTMLBsFormFileElement extends Components.BsFormFile, HTMLStencilElement {
    }
    var HTMLBsFormFileElement: {
        prototype: HTMLBsFormFileElement;
        new (): HTMLBsFormFileElement;
    };
    interface HTMLBsFormGroupElement extends Components.BsFormGroup, HTMLStencilElement {
    }
    var HTMLBsFormGroupElement: {
        prototype: HTMLBsFormGroupElement;
        new (): HTMLBsFormGroupElement;
    };
    interface HTMLBsFormLabelElement extends Components.BsFormLabel, HTMLStencilElement {
    }
    var HTMLBsFormLabelElement: {
        prototype: HTMLBsFormLabelElement;
        new (): HTMLBsFormLabelElement;
    };
    interface HTMLBsFormRowElement extends Components.BsFormRow, HTMLStencilElement {
    }
    var HTMLBsFormRowElement: {
        prototype: HTMLBsFormRowElement;
        new (): HTMLBsFormRowElement;
    };
    interface HTMLBsIconElement extends Components.BsIcon, HTMLStencilElement {
    }
    var HTMLBsIconElement: {
        prototype: HTMLBsIconElement;
        new (): HTMLBsIconElement;
    };
    interface HTMLBsListGroupElement extends Components.BsListGroup, HTMLStencilElement {
    }
    var HTMLBsListGroupElement: {
        prototype: HTMLBsListGroupElement;
        new (): HTMLBsListGroupElement;
    };
    interface HTMLBsListGroupItemElement extends Components.BsListGroupItem, HTMLStencilElement {
    }
    var HTMLBsListGroupItemElement: {
        prototype: HTMLBsListGroupItemElement;
        new (): HTMLBsListGroupItemElement;
    };
    interface HTMLBsModalElement extends Components.BsModal, HTMLStencilElement {
    }
    var HTMLBsModalElement: {
        prototype: HTMLBsModalElement;
        new (): HTMLBsModalElement;
    };
    interface HTMLBsModalBodyElement extends Components.BsModalBody, HTMLStencilElement {
    }
    var HTMLBsModalBodyElement: {
        prototype: HTMLBsModalBodyElement;
        new (): HTMLBsModalBodyElement;
    };
    interface HTMLBsModalDialogElement extends Components.BsModalDialog, HTMLStencilElement {
    }
    var HTMLBsModalDialogElement: {
        prototype: HTMLBsModalDialogElement;
        new (): HTMLBsModalDialogElement;
    };
    interface HTMLBsModalFooterElement extends Components.BsModalFooter, HTMLStencilElement {
    }
    var HTMLBsModalFooterElement: {
        prototype: HTMLBsModalFooterElement;
        new (): HTMLBsModalFooterElement;
    };
    interface HTMLBsModalHeaderElement extends Components.BsModalHeader, HTMLStencilElement {
    }
    var HTMLBsModalHeaderElement: {
        prototype: HTMLBsModalHeaderElement;
        new (): HTMLBsModalHeaderElement;
    };
    interface HTMLBsNavElement extends Components.BsNav, HTMLStencilElement {
    }
    var HTMLBsNavElement: {
        prototype: HTMLBsNavElement;
        new (): HTMLBsNavElement;
    };
    interface HTMLBsNavItemElement extends Components.BsNavItem, HTMLStencilElement {
    }
    var HTMLBsNavItemElement: {
        prototype: HTMLBsNavItemElement;
        new (): HTMLBsNavItemElement;
    };
    interface HTMLBsPageItemElement extends Components.BsPageItem, HTMLStencilElement {
    }
    var HTMLBsPageItemElement: {
        prototype: HTMLBsPageItemElement;
        new (): HTMLBsPageItemElement;
    };
    interface HTMLBsPaginationElement extends Components.BsPagination, HTMLStencilElement {
    }
    var HTMLBsPaginationElement: {
        prototype: HTMLBsPaginationElement;
        new (): HTMLBsPaginationElement;
    };
    interface HTMLBsSpinnerElement extends Components.BsSpinner, HTMLStencilElement {
    }
    var HTMLBsSpinnerElement: {
        prototype: HTMLBsSpinnerElement;
        new (): HTMLBsSpinnerElement;
    };
    interface HTMLBsToastElement extends Components.BsToast, HTMLStencilElement {
    }
    var HTMLBsToastElement: {
        prototype: HTMLBsToastElement;
        new (): HTMLBsToastElement;
    };
    interface HTMLBsTooltipElement extends Components.BsTooltip, HTMLStencilElement {
    }
    var HTMLBsTooltipElement: {
        prototype: HTMLBsTooltipElement;
        new (): HTMLBsTooltipElement;
    };
    interface HTMLElementTagNameMap {
        "bs-alert": HTMLBsAlertElement;
        "bs-badge": HTMLBsBadgeElement;
        "bs-breadcrumb": HTMLBsBreadcrumbElement;
        "bs-breadcrumbs": HTMLBsBreadcrumbsElement;
        "bs-button": HTMLBsButtonElement;
        "bs-button-group": HTMLBsButtonGroupElement;
        "bs-card": HTMLBsCardElement;
        "bs-card-body": HTMLBsCardBodyElement;
        "bs-card-footer": HTMLBsCardFooterElement;
        "bs-card-header": HTMLBsCardHeaderElement;
        "bs-card-image": HTMLBsCardImageElement;
        "bs-carousel": HTMLBsCarouselElement;
        "bs-collapse": HTMLBsCollapseElement;
        "bs-dropdown": HTMLBsDropdownElement;
        "bs-form-check": HTMLBsFormCheckElement;
        "bs-form-check-group": HTMLBsFormCheckGroupElement;
        "bs-form-control": HTMLBsFormControlElement;
        "bs-form-file": HTMLBsFormFileElement;
        "bs-form-group": HTMLBsFormGroupElement;
        "bs-form-label": HTMLBsFormLabelElement;
        "bs-form-row": HTMLBsFormRowElement;
        "bs-icon": HTMLBsIconElement;
        "bs-list-group": HTMLBsListGroupElement;
        "bs-list-group-item": HTMLBsListGroupItemElement;
        "bs-modal": HTMLBsModalElement;
        "bs-modal-body": HTMLBsModalBodyElement;
        "bs-modal-dialog": HTMLBsModalDialogElement;
        "bs-modal-footer": HTMLBsModalFooterElement;
        "bs-modal-header": HTMLBsModalHeaderElement;
        "bs-nav": HTMLBsNavElement;
        "bs-nav-item": HTMLBsNavItemElement;
        "bs-page-item": HTMLBsPageItemElement;
        "bs-pagination": HTMLBsPaginationElement;
        "bs-spinner": HTMLBsSpinnerElement;
        "bs-toast": HTMLBsToastElement;
        "bs-tooltip": HTMLBsTooltipElement;
    }
}
declare namespace LocalJSX {
    interface BsAlert {
        "closeLabel"?: string;
        "dismissible"?: boolean;
        "onClose"?: (event: BsAlertCustomEvent<any>) => void;
        "removeOnClose"?: boolean;
        "show"?: boolean;
        "transition"?: AlertTransition;
        "variant"?: Variant;
    }
    interface BsBadge {
        "href"?: string;
        "pill"?: boolean;
        "variant"?: Variant;
    }
    interface BsBreadcrumb {
        "active"?: boolean;
        "href"?: string;
        "linkTitle"?: string;
        "target"?: string;
    }
    interface BsBreadcrumbs {
        "ariaLabel"?: string;
        "separator"?: string;
    }
    interface BsButton {
        "active"?: boolean;
        "block"?: boolean;
        "disabled"?: boolean;
        "href"?: string;
        "iconLeft"?: string;
        "iconRight"?: string;
        "size"?: ButtonSize;
        "type"?: ButtonType;
        "variant"?: ButtonVariant;
    }
    interface BsButtonGroup {
        "ariaLabel"?: string;
        "role"?: ButtonGroupRole;
        "size"?: ButtonGroupSize;
        "vertical"?: boolean;
    }
    interface BsCard {
        "body"?: boolean;
        "variant"?: Variant;
    }
    interface BsCardBody {
    }
    interface BsCardFooter {
    }
    interface BsCardHeader {
    }
    interface BsCardImage {
    }
    interface BsCarousel {
        "animation"?: 'fade' | 'slide';
        "autoplay"?: boolean;
        "autoplayInterval"?: number;
        "controls"?: boolean;
        "indicators"?: boolean;
        "itemsToShow"?: number;
        "pauseOnHover"?: boolean;
        "speed"?: number;
        "swipe"?: boolean;
    }
    interface BsCollapse {
        /**
          * where to show the visual indicator that the collapse is open or closed pass an empty string to hide the arrow
         */
        "arrowPosition"?: 'left' | 'right' | '';
        "collapseId"?: string;
        /**
          * Group identifier to group collapse
         */
        "groupId"?: string;
        /**
          * The accordion default state
         */
        "isOpen"?: boolean;
        /**
          * the accordion label which will show up on the accordion button
         */
        "name"?: string;
        /**
          * Collapse Event emitted
         */
        "onBsCollapseToggled"?: (event: BsCollapseCustomEvent<any>) => void;
    }
    interface BsDropdown {
        /**
          * if true, toggle will automatically have a caret added to represent where the dropdown will appear
         */
        "caret"?: boolean;
        /**
          * whether to close the dropdown when clicking outside of it
         */
        "hideOnClickOutside"?: boolean;
        /**
          * where the dropdown should appear (see: https://popper.js.org/docs/v2/constructors/#options)
         */
        "placement"?: Placement;
        /**
          * used to control the dropdown visiblity manually, rather than relying on toggle clicks
         */
        "show"?: boolean;
        /**
          * the caret and button content will be split, and the dropdown will show up only when clicking the caret
         */
        "split"?: boolean;
    }
    interface BsFormCheck {
        /**
          * Determines selected item.
         */
        "checked"?: boolean;
        /**
          * The input id.
         */
        "controlId"?: string;
        /**
          * Disables the radio or checkbox from edit or copy.
         */
        "disabled"?: boolean;
        /**
          * Determines the orientation of radio and checkbox to horizontal.
         */
        "inline"?: boolean;
        /**
          * The name of input
         */
        "name"?: string;
        /**
          * The event is emitted on keyboard input
         */
        "onBsInput"?: (event: BsFormCheckCustomEvent<any>) => void;
        /**
          * Sets the width/height of the checkbox
         */
        "size"?: number;
        /**
          * This specifies what type of input is.
         */
        "type"?: 'checkbox' | 'radio';
        /**
          * The value of the input
         */
        "value"?: string | string[] | number;
    }
    interface BsFormCheckGroup {
        /**
          * The value of the radio select emitted
         */
        "onBsChange"?: (event: BsFormCheckGroupCustomEvent<any>) => void;
        /**
          * The value of the radio selection
         */
        "value"?: any;
    }
    interface BsFormControl {
        /**
          * Determines what form control the component is.
         */
        "as"?: FormElementTypes;
        /**
          * The element id.
         */
        "controlId"?: string;
        /**
          * Disables the input / select / textarea from edit or copy.
         */
        "disabled"?: boolean;
        /**
          * Specifies how much of the input is shown.
         */
        "htmlSize"?: number;
        /**
          * Determines the input as invalid
         */
        "isInvalid"?: boolean;
        /**
          * Determines the input as valid
         */
        "isValid"?: boolean;
        /**
          * The name is the input/textarea/select element name.
         */
        "name"?: string;
        /**
          * The event is emitted on focus loss.
         */
        "onBsBlur"?: (event: BsFormControlCustomEvent<FocusEvent>) => void;
        /**
          * The event is emitted on focus
         */
        "onBsFocus"?: (event: BsFormControlCustomEvent<FocusEvent>) => void;
        /**
          * The event is emitted on keyboard input.
         */
        "onBsInput"?: (event: BsFormControlCustomEvent<InputEvent>) => void;
        /**
          * Used to determine the constraints for validation.
         */
        "pattern"?: string;
        /**
          * The placeholder text for the input/textarea.
         */
        "placeholder"?: string;
        /**
          * The value of the input is not editable.
         */
        "readOnly"?: boolean;
        /**
          * Used for making form control required.
         */
        "required"?: boolean;
        /**
          * Used to change the size of inputs and labels respectively.
         */
        "size"?: 'sm' | 'lg';
        /**
          * This specifies what type of input is. View MDN docs https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input
         */
        "type"?: string;
        /**
          * The value of the input/
         */
        "value"?: string | string[] | number;
    }
    interface BsFormFile {
        /**
          * The kinds of files accepted constraints
         */
        "accept"?: string;
        /**
          * the disabled flag for the file input
         */
        "disabled"?: boolean;
        /**
          * The id of the element
         */
        "fileId"?: string;
        /**
          * The label or placeholder of the file
         */
        "label"?: string;
        /**
          * The onInput event emitted on value changed
         */
        "onBsInput"?: (event: BsFormFileCustomEvent<KeyboardEvent>) => void;
    }
    interface BsFormGroup {
        "controlId"?: any;
        "md"?: number;
        "stack"?: boolean;
    }
    interface BsFormLabel {
        "column"?: boolean | 'sm' | 'lg';
        "htmlFor"?: string;
        "srcOnly"?: boolean;
    }
    interface BsFormRow {
    }
    interface BsIcon {
        "icon"?: string;
        "loadOnScrollTo"?: boolean;
        "scrollMargin"?: string;
        "size"?: number;
    }
    interface BsListGroup {
        "flush"?: boolean;
        "horizontal"?: HorizontalLayout;
    }
    interface BsListGroupItem {
        /**
          * The item is clickable
         */
        "actionable"?: boolean;
        /**
          * Active state view of list
         */
        "active"?: boolean;
        /**
          * Specify the list item's background color
         */
        "bgColor"?: Color;
        /**
          * The disabled view of list
         */
        "disabled"?: boolean;
        /**
          * The role lof the items for accessibility
         */
        "role"?: string;
    }
    interface BsModal {
        /**
          * open and close the modal with a slide and fade animation
         */
        "animation"?: boolean;
        /**
          * whether to use a backdrop or not
         */
        "backdrop"?: boolean;
        /**
          * if content inside the modal should be vertically centered
         */
        "centered"?: boolean;
        /**
          * close event is triggered when the modal is closed
         */
        "onClose"?: (event: BsModalCustomEvent<any>) => void;
        /**
          * open event is triggered when the modal is opened
         */
        "onOpen"?: (event: BsModalCustomEvent<any>) => void;
        /**
          * if content inside the modal should be scrollable
         */
        "scrollable"?: boolean;
        /**
          * whether the modal is visible or not
         */
        "show"?: boolean;
        /**
          * if static, the modal will not close when the backdrop is clicked
         */
        "static"?: boolean;
        /**
          * change the width of the modal
         */
        "width"?: number;
    }
    interface BsModalBody {
    }
    interface BsModalDialog {
        /**
          * if the content of the dialog should be vertically centered
         */
        "centered"?: boolean;
        /**
          * if the content of the dialog should be scrollable
         */
        "scrollable"?: boolean;
        /**
          * change the width of the modal
         */
        "width"?: number;
    }
    interface BsModalFooter {
    }
    interface BsModalHeader {
        /**
          * whether the modal header should contain a close button
         */
        "closeButton"?: boolean;
        /**
          * an accessible label for the close button
         */
        "closeLabel"?: string;
        /**
          * the title of the modal
         */
        "modalTitle"?: string;
        /**
          * an event triggered when the close button is clicked.
         */
        "onClose"?: (event: BsModalHeaderCustomEvent<any>) => void;
    }
    interface BsNav {
        "fill"?: boolean;
        "justify"?: boolean;
        "listRole"?: string;
        "role"?: string;
        "variant"?: NavVariant;
        "vertical"?: boolean;
    }
    interface BsNavItem {
        "active"?: boolean;
        "disabled"?: boolean;
        "href"?: string;
        "role"?: string;
        "variant"?: NavVariant1;
    }
    interface BsPageItem {
        /**
          * whether the item should be styled as active
         */
        "active"?: boolean;
        /**
          * An accessible label indicating the active state
         */
        "activeLabel"?: string;
        /**
          * whether the item should be disabled
         */
        "disabled"?: boolean;
        /**
          * the href for the item, if needed
         */
        "href"?: string;
        /**
          * optional, size of the page item
         */
        "size"?: 'sm' | 'lg';
    }
    interface BsPagination {
        /**
          * change alignment of pagination
         */
        "align"?: 'left' | 'center' | 'right';
        /**
          * turn off controlled to handle display of page items manually
         */
        "controlled"?: boolean;
        /**
          * a descriptive label to reflect the purpose of the pagination
         */
        "label"?: string;
        /**
          * if there are more than maxVisiblePages, the pagination will show clickable ellipsis when needed to hide them
         */
        "maxVisiblePages"?: number;
        /**
          * called when the page changes
         */
        "onPagechanged"?: (event: BsPaginationCustomEvent<number>) => void;
        /**
          * set page to override the current page
         */
        "page"?: number;
        /**
          * set page count so pagination knows how to display it's items
         */
        "pageCount"?: number;
        /**
          * optional, size of the pagination items
         */
        "size"?: 'sm' | 'lg';
    }
    interface BsSpinner {
        "animation"?: SpinnerAnimation;
        "loadingText"?: string;
        "role"?: string;
        "size"?: SpinnerSize;
        "variant"?: Variant;
    }
    interface BsToast {
        /**
          * Delay hiding the toast (ms)
         */
        "autohide"?: boolean;
        /**
          * make toast closable
         */
        "canClose"?: boolean;
        /**
          * Delay hiding the toast (ms)
         */
        "delay"?: number;
        /**
          * Position of the toast
         */
        "gravity"?: "top" | "bottom";
        /**
          * toast destination
         */
        "href"?: string;
        /**
          * The header name of the toast
         */
        "message"?: string;
        /**
          * The header name of the toast
         */
        "name"?: string;
        /**
          * href in newWindow
         */
        "newWindow"?: boolean;
        /**
          * Emitted on close of toast
         */
        "onClose"?: (event: BsToastCustomEvent<any>) => void;
        /**
          * Emitted on the open of toast
         */
        "onOpen"?: (event: BsToastCustomEvent<any>) => void;
        /**
          * Position of the toast
         */
        "position"?: "left" | "center" | "right";
        /**
          * When `true` The toast will show itself.
         */
        "show"?: boolean;
    }
    interface BsTooltip {
        /**
          * where the tooltip should appear (see: https://popper.js.org/docs/v2/constructors/#options)
         */
        "placement"?: Placement;
        /**
          * used to control the tooltip visiblity manually, rather than relying on toggle hover
         */
        "show"?: boolean;
        /**
          * for simple tooltips, text to display in the tooltip (or use a slot for complex tooltip content)
         */
        "tooltipContent"?: string;
    }
    interface IntrinsicElements {
        "bs-alert": BsAlert;
        "bs-badge": BsBadge;
        "bs-breadcrumb": BsBreadcrumb;
        "bs-breadcrumbs": BsBreadcrumbs;
        "bs-button": BsButton;
        "bs-button-group": BsButtonGroup;
        "bs-card": BsCard;
        "bs-card-body": BsCardBody;
        "bs-card-footer": BsCardFooter;
        "bs-card-header": BsCardHeader;
        "bs-card-image": BsCardImage;
        "bs-carousel": BsCarousel;
        "bs-collapse": BsCollapse;
        "bs-dropdown": BsDropdown;
        "bs-form-check": BsFormCheck;
        "bs-form-check-group": BsFormCheckGroup;
        "bs-form-control": BsFormControl;
        "bs-form-file": BsFormFile;
        "bs-form-group": BsFormGroup;
        "bs-form-label": BsFormLabel;
        "bs-form-row": BsFormRow;
        "bs-icon": BsIcon;
        "bs-list-group": BsListGroup;
        "bs-list-group-item": BsListGroupItem;
        "bs-modal": BsModal;
        "bs-modal-body": BsModalBody;
        "bs-modal-dialog": BsModalDialog;
        "bs-modal-footer": BsModalFooter;
        "bs-modal-header": BsModalHeader;
        "bs-nav": BsNav;
        "bs-nav-item": BsNavItem;
        "bs-page-item": BsPageItem;
        "bs-pagination": BsPagination;
        "bs-spinner": BsSpinner;
        "bs-toast": BsToast;
        "bs-tooltip": BsTooltip;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "bs-alert": LocalJSX.BsAlert & JSXBase.HTMLAttributes<HTMLBsAlertElement>;
            "bs-badge": LocalJSX.BsBadge & JSXBase.HTMLAttributes<HTMLBsBadgeElement>;
            "bs-breadcrumb": LocalJSX.BsBreadcrumb & JSXBase.HTMLAttributes<HTMLBsBreadcrumbElement>;
            "bs-breadcrumbs": LocalJSX.BsBreadcrumbs & JSXBase.HTMLAttributes<HTMLBsBreadcrumbsElement>;
            "bs-button": LocalJSX.BsButton & JSXBase.HTMLAttributes<HTMLBsButtonElement>;
            "bs-button-group": LocalJSX.BsButtonGroup & JSXBase.HTMLAttributes<HTMLBsButtonGroupElement>;
            "bs-card": LocalJSX.BsCard & JSXBase.HTMLAttributes<HTMLBsCardElement>;
            "bs-card-body": LocalJSX.BsCardBody & JSXBase.HTMLAttributes<HTMLBsCardBodyElement>;
            "bs-card-footer": LocalJSX.BsCardFooter & JSXBase.HTMLAttributes<HTMLBsCardFooterElement>;
            "bs-card-header": LocalJSX.BsCardHeader & JSXBase.HTMLAttributes<HTMLBsCardHeaderElement>;
            "bs-card-image": LocalJSX.BsCardImage & JSXBase.HTMLAttributes<HTMLBsCardImageElement>;
            "bs-carousel": LocalJSX.BsCarousel & JSXBase.HTMLAttributes<HTMLBsCarouselElement>;
            "bs-collapse": LocalJSX.BsCollapse & JSXBase.HTMLAttributes<HTMLBsCollapseElement>;
            "bs-dropdown": LocalJSX.BsDropdown & JSXBase.HTMLAttributes<HTMLBsDropdownElement>;
            "bs-form-check": LocalJSX.BsFormCheck & JSXBase.HTMLAttributes<HTMLBsFormCheckElement>;
            "bs-form-check-group": LocalJSX.BsFormCheckGroup & JSXBase.HTMLAttributes<HTMLBsFormCheckGroupElement>;
            "bs-form-control": LocalJSX.BsFormControl & JSXBase.HTMLAttributes<HTMLBsFormControlElement>;
            "bs-form-file": LocalJSX.BsFormFile & JSXBase.HTMLAttributes<HTMLBsFormFileElement>;
            "bs-form-group": LocalJSX.BsFormGroup & JSXBase.HTMLAttributes<HTMLBsFormGroupElement>;
            "bs-form-label": LocalJSX.BsFormLabel & JSXBase.HTMLAttributes<HTMLBsFormLabelElement>;
            "bs-form-row": LocalJSX.BsFormRow & JSXBase.HTMLAttributes<HTMLBsFormRowElement>;
            "bs-icon": LocalJSX.BsIcon & JSXBase.HTMLAttributes<HTMLBsIconElement>;
            "bs-list-group": LocalJSX.BsListGroup & JSXBase.HTMLAttributes<HTMLBsListGroupElement>;
            "bs-list-group-item": LocalJSX.BsListGroupItem & JSXBase.HTMLAttributes<HTMLBsListGroupItemElement>;
            "bs-modal": LocalJSX.BsModal & JSXBase.HTMLAttributes<HTMLBsModalElement>;
            "bs-modal-body": LocalJSX.BsModalBody & JSXBase.HTMLAttributes<HTMLBsModalBodyElement>;
            "bs-modal-dialog": LocalJSX.BsModalDialog & JSXBase.HTMLAttributes<HTMLBsModalDialogElement>;
            "bs-modal-footer": LocalJSX.BsModalFooter & JSXBase.HTMLAttributes<HTMLBsModalFooterElement>;
            "bs-modal-header": LocalJSX.BsModalHeader & JSXBase.HTMLAttributes<HTMLBsModalHeaderElement>;
            "bs-nav": LocalJSX.BsNav & JSXBase.HTMLAttributes<HTMLBsNavElement>;
            "bs-nav-item": LocalJSX.BsNavItem & JSXBase.HTMLAttributes<HTMLBsNavItemElement>;
            "bs-page-item": LocalJSX.BsPageItem & JSXBase.HTMLAttributes<HTMLBsPageItemElement>;
            "bs-pagination": LocalJSX.BsPagination & JSXBase.HTMLAttributes<HTMLBsPaginationElement>;
            "bs-spinner": LocalJSX.BsSpinner & JSXBase.HTMLAttributes<HTMLBsSpinnerElement>;
            "bs-toast": LocalJSX.BsToast & JSXBase.HTMLAttributes<HTMLBsToastElement>;
            "bs-tooltip": LocalJSX.BsTooltip & JSXBase.HTMLAttributes<HTMLBsTooltipElement>;
        }
    }
}
