/* 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 { ChartData, FormattedPropDocs, ImageSizes, OptionProps, Orientation } from "./types/propTypes";
import { JsonDocsProp, JsonDocsTag } from "./stencil-public-runtime";
export { ChartData, FormattedPropDocs, ImageSizes, OptionProps, Orientation } from "./types/propTypes";
export { JsonDocsProp, JsonDocsTag } from "./stencil-public-runtime";
export namespace Components {
    /**
     * A collapsible/expandable accordion component
     * @docsPage 
     * @exSlot Pork strip steak pastrami alcatra. Ham hock picanha filet mignon, shankle alcatra beef ribs pancetta doner ribeye burgdoggen spare ribs fatback kielbasa pork loin tenderloin. Kevin drumstick burgdoggen kielbasa t-bone strip steak shoulder spare ribs bresaola andouille ball tip swine ground round cow. Turkey pork ham hock pork chop jowl brisket. Fatback kielbasa t-bone, drumstick pork chop jerky corned beef rump prosciutto cupim biltong landjaeger alcatra.
     * &t;Short loin spare ribs boudin tail. Frankfurter kielbasa spare ribs pastrami, jerky beef ham hock drumstick. Shank beef ribs andouille pork loin. Leberkas spare ribs pork loin pork. Tail cupim landjaeger, rump boudin pork chop tri-tip jowl burgdoggen short ribs andouille meatloaf ham hock venison. Sausage doner jowl, ham shoulder meatloaf tri-tip leberkas biltong burgdoggen sirloin beef ribs salami.
     */
    interface BsAccordion {
        /**
          * Use with 'openItem' prop. Set to true when several accordions are grouped together and only one accordion should be open at a time.
         */
        "controlled": boolean;
        /**
          * @ex Click to Toggle
         */
        "headerText": string;
        /**
          * Optional heading level to assign to the panel title. 2 thru 5.
         */
        "headingLevel"?: 2 | 3 | 4 | 5;
        /**
          * Pass in kebab-cased icon name to display an icon on the left; e.g., "case-study"
         */
        "icon"?: string;
        /**
          * Use with 'controlled' prop. Pass in true when this accordion should open.
         */
        "openItem": boolean;
        /**
          * Set to true when used in a stack of accordions bordering one another.
         */
        "stacked": boolean;
    }
    /**
     * @docsPage 
     * @exSlot Notifications
     */
    interface BsBadge {
        /**
          * Pass value to set `data-badge-color`.
         */
        "color"?: 'red' | 'blue' | 'white';
        /**
          * Pass value to show "count" indicator.  Do not use if you are passing "dot."
         */
        "count"?: number;
        /**
          * Sets the count limit after which the displayed count will stop incrementing and a "+" will be appended. Defaults to 99.
         */
        "countMax": number;
        /**
          * Pass "true" to show a simple dot indicator.  Do not use if you are passing a "count."
         */
        "dot"?: boolean;
        /**
          * Pass the singular name of the items that are being counted.  e.g. if we are counting unread notifications, pass "unread notification"; or if we are counting new messages, pass "new message". This is required to ensure accessibility!
         */
        "label": string;
        /**
          * Sets the position of the badge in relation to the slotted content. By default, badge is positioned to the right.
         */
        "position"?: 'left' | 'right';
        /**
          * Pass "true" to show the badge even when the "count" value is zero.
         */
        "showZero"?: boolean;
    }
    /**
     * Outputs a banner for displaying important messages and related optional actions.
     * @docsPage 
     * @exSlot Here’s a short message about what’s going on. Here’s more about what’s happening. Here’s a <a href="#">clickable action</a>.
     */
    interface BsBanner {
    }
    /**
     * Outputs a button or anchor tag using the BSDS button styles.
     * @docsPage 
     * @exSlot Click Me
     */
    interface BsButton {
        /**
          * Sets the disabled state on the button.
         */
        "disabled"?: boolean;
        /**
          * Apply the ghost button style. See data-ghost in the button docs for details.
         */
        "ghostBtn"?: boolean;
        /**
          * Pass in a url to convert a button to an anchor tag.
         */
        "href"?: string;
        /**
          * List additional attributes (csv format) to pass through to <button> or <a>.
         */
        "passAttrs": string;
        /**
          * Sets the size of the button.
         */
        "size"?: 'sm';
        /**
          * Apply the text button style. See data-text in the button docs for details.
         */
        "textBtn"?: boolean;
        /**
          * Changes the variant of the button. See data-variant in the button docs for details.
         */
        "variant"?: 'secondary' | 'positive' | 'warning' | 'negative';
    }
    interface BsCharacterCount {
        /**
          * The number of characters that have been entered by the user.
         */
        "charCount"?: number;
        /**
          * Pass value to show character count and set the maximum number of characters that are allowed to be submitted by the user.
         */
        "charMax": number;
    }
    /**
     * A bar chart component.  Client-side only.
     * @docsPage 
     */
    interface BsChartBar {
        /**
          * Provide a title for the accessible text table representation of this chart.
         */
        "chartTitle"?: string;
        /**
          * Array of datasets.
          * @mapTo BarChartData
         */
        "data": ChartData[];
        /**
          * Array of labels for each point along the X-Axis.
          * @mapTo BarChartIdxLabels
         */
        "dataIdxLabels": string[];
        /**
          * Pass `true` to show legend.
         */
        "showLegend": boolean;
        /**
          * Pass `true` to show tooltips on hover.
         */
        "showTooltips": boolean;
        /**
          * Pass `true` to show vertical gridlines.
         */
        "showXGrid": boolean;
        /**
          * Pass `true` to show horizontal gridlines.
         */
        "showYGrid": boolean;
        /**
          * Pass `true` to stack each dataset's data at a given index into a single column.
         */
        "stacked": boolean;
        /**
          * Label for the X-Axis.
          * @ex Month
         */
        "xLabel": string;
        /**
          * Label for the Y-Axis.
          * @ex TPS Reports Submitted
         */
        "yLabel": string;
    }
    interface BsChartTable {
        "data": ChartData[];
        "dataIdxLabels": string[];
        "tableTitle": string;
    }
    /**
     * A basic checkbox component.
     * @docsPage 
     */
    interface BsCheckbox {
        /**
          * Sets the checked state.
         */
        "checked": boolean;
        /**
          * Sets the indeterminate state; i.e. partially checked.
         */
        "checkedPartially": boolean;
        /**
          * Sets the disabled state on the input.
         */
        "disabled": boolean;
        /**
          * Applies error styles to the input.
         */
        "error"?: boolean;
        /**
          * @ex Task Completed
         */
        "label": string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <input>.
         */
        "passAttrs": string;
        /**
          * Sets the required state on the input.
         */
        "required"?: boolean;
        /**
          * Sets the size of the input.
         */
        "size"?: 'sm';
    }
    /**
     * Outputs a button or anchor tag using the BSDS button styles.
     * @docsPage 
     * @exSlot Click Me
     */
    interface BsCircleButton {
        /**
          * Sets the disabled state on the button.
         */
        "disabled"?: boolean;
        /**
          * Apply the ghost button style. See data-ghost in the button docs for details.
         */
        "ghostBtn"?: boolean;
        /**
          * Set to `true` to apply hover transition effect (icon translates left or right).
         */
        "hoverEffect": boolean;
        /**
          * Pass in a url to convert a button to an anchor tag.
         */
        "href"?: string;
        /**
          * Pass in kebab-cased icon name to display an icon on the left; e.g., "case-study"
         */
        "icon": string;
        /**
          * Set the position of the icon in relation to button text.
         */
        "iconPosition"?: "left" | "right";
        /**
          * REQUIRED! Pass in text to be used as aria-label or title for non-text buttons or links, respectively, or as the button text for text buttons.
         */
        "label": string;
        /**
          * List additional attributes (csv format) to pass through to <button> or <a>.
         */
        "passAttrs": string;
        /**
          * Sets the size of the button.
         */
        "size"?: 'sm';
        /**
          * Set to `true` to display the label as text alongside the circle icon.
         */
        "textBtn"?: boolean;
    }
    /**
     * Outputs a dropdown which is a design pattern that conserves screen space by
     * letting users display a list of contents, navigation points, and functions
     * without flooding the user with many options simultaneously.
     * Meant ot be composited together with bs-dropdown-options and
     * bs-dropdown-option components.
     * All slotted children should be wrapped in a single outer <div>.
     */
    interface BsDropdown {
        /**
          * Id of the dropdown. This should also be set on the toggle element's `aria-controls` attribute and the label's `for` attribute.
          * @ex basic-dropdown-id
         */
        "dropdownId": string;
        /**
          * Option to center the dropdown.
         */
        "justify"?: 'center';
        /**
          * Optionally provide a label for the dropdown which `aria-label` will get set to. This is used as an alternative to setting the `for` attribute on a label element when there is no visible label.
         */
        "label"?: string;
        /**
          * Position of the options list. Currently only accepts "top".
         */
        "position"?: 'top';
        /**
          * Whether or not the dropdown is currently shown. Be sure to also set `aria-expanded` equal to this value on the toggle element.
         */
        "shown"?: boolean;
        /**
          * Option to set the dropdown to fit content width rather than have a fixed width.
         */
        "variant"?: 'fit';
    }
    /**
     * Option list item for the bs-dropdown component. Should be used as a child
     * of the bs-dropdown-options component. Some of the props are **Parent-Provided**
     * (provided by the parent component) and are not o be given by users. All events
     * that this component emits are handled by the parent component and do not need to be listened for.
     * When using variant of 2-col and/or description, all slotted children should
     * be wrapped in a single outer <div>.
     * @docsPage 
     * @exSlot Apples
     */
    interface BsDropdownOption {
        /**
          * [Parent-Provided] - The ID of the containing dropdown
         */
        "dropdownId": string;
        /**
          * [Parent-Provided] - Whether this options is currently focused.
         */
        "focused"?: boolean;
        /**
          * [Parent-Provided] - The index of this option in the options list.
         */
        "index": number;
        /**
          * Whether this option is selected.
         */
        "selected": boolean;
        /**
          * [Parent-Provided] - Whether the dropdown is currently shown.
         */
        "shown"?: boolean;
        /**
          * Value of this option.
          * @ex apples
         */
        "value": string;
        /**
          * Variant of this option. This can be any combination of values "2-col", "description", "negative" separated by a space.  When using "2-col" or "description" variants, each child of the <li> should be in some kind of container element such as <span>.
         */
        "variant"?: string;
    }
    /**
     * Options list body for the bs-dropdown component. This should always be used
     * as a child of that component. This component does have props and events, but
     * they are all passed down or handled by the parent.
     * All <bs-dropdown-option> slotted children should be wrapped in a single
     * outer <div>.
     */
    interface BsDropdownOptions {
        /**
          * Id of the dropdown. This should also be set on the toggle element's `aria-controls` attribute and the label's `for` attribute.
         */
        "dropdownId": string;
        /**
          * Optionally provide a label for the dropdown which `aria-label` will get set to. This is used as an alternative to setting the `for` attribute on a label element when there is no visible label.
         */
        "label"?: string;
        /**
          * Position of the options list. Currently only accepts "top".
         */
        "position"?: 'top';
        /**
          * Whether or not the dropdown is currently shown. Be sure to also set `aria-expanded` equal to this value on the toggle element.
         */
        "shown"?: boolean;
        /**
          * Option to set the dropdown to fit content width rather than have a fixed width.
         */
        "variant"?: 'fit';
    }
    /**
     * A pre-composed container to wrap around a form element. Contains the <bs-label> and <bs-hint> web components.
     */
    interface BsFieldLayout {
        /**
          * The number of characters that have been entered by the user.
         */
        "charCount"?: number;
        /**
          * Pass value to show character count and set the maximum number of characters that are allowed to be submitted by the user.
         */
        "charMax"?: number;
        /**
          * Applies disabled styles to the label.
         */
        "disabled": boolean;
        /**
          * Applies error styles to the helper text.
         */
        "error"?: boolean;
        /**
          * Adds an id to associate a hint to an input.
         */
        "hintId": string;
        /**
          * Pass single helper/error text or array of text.
         */
        "hints"?: string | string[];
        /**
          * Pass label text.
         */
        "label"?: string;
        /**
          * Pass input id to assign to label's "for" attribute.
         */
        "labelFor"?: string;
        /**
          * Append required* indicator to label.
         */
        "required"?: boolean;
    }
    /**
     * Display a hint or error message below a form element.
     */
    interface BsHint {
        /**
          * Applies error styles to text.
         */
        "error"?: boolean;
        /**
          * Adds an id to associate a hint to an input.
         */
        "hintId": string;
        /**
          * A string or array of strings to be displayed by the hint.
         */
        "hints": string | string[];
    }
    /**
     * Displays an input element.
     */
    interface BsInput {
        /**
          * Sets the disabled state on the input.
         */
        "disabled": boolean;
        /**
          * Applies error styles to the input.
         */
        "error"?: boolean;
        /**
          * Adds an id to associate a hint to an input.
         */
        "hintId": string;
        /**
          * List additional attributes (comma-separated) by name to pass through to <input>.
         */
        "passAttrs": string;
        /**
          * Placeholder attribute - same as native
         */
        "placeholder"?: string;
        /**
          * Sets the required state on the input.
         */
        "required"?: boolean;
        /**
          * Sets the native input type attribute.
         */
        "type": string;
        /**
          * Sets the input value.
         */
        "value": string | number;
    }
    /**
     * This wrapper component applies input-like styling to a primary text-like input grouped with "addons"
     * e.g. closely-related secondary inputs or icons.
     * @docsPage 
     * @exSlot <bs-select class="w-40">
     * &t;&t;<option>Placeholder</option>
     * &t;</bs-select>
     * &t;<bs-input-addon>
     * &t;&t;<bs-input placeholder="Type something here"></bs-input>
     * &t;&t;<bs-icon-biplane class="px-4"></bs-icon-biplane>
     * &t;</bs-input-addon>
     */
    interface BsInputAddon {
        /**
          * Pass `true` to set disabled styles on container.
         */
        "disabled": boolean;
        /**
          * Pass `true` to set error styles on container.
         */
        "error": boolean;
        /**
          * Pass `true` when slotting multiple focusable elements.
         */
        "multifocus": boolean;
        /**
          * Variant `inner-bordered` will separate the slotted items with a border.
         */
        "variant"?: 'inner-bordered';
    }
    /**
     * Displays a <bs-input> field with a corresponding <bs-label> and <bs-hint>.
     * @docsPage 
     */
    interface BsInputField {
        /**
          * Sets the disabled state on input, disabled styles on label.
         */
        "disabled": boolean;
        /**
          * Applies error styles to the input.
         */
        "error"?: boolean;
        /**
          * Pass single helper/error text or array of text.
         */
        "hints"?: string | string[];
        /**
          * Pass label text.
         */
        "label"?: string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <input>.
         */
        "passAttrs": string;
        /**
          * Placeholder attribute - same as native
         */
        "placeholder"?: string;
        /**
          * Sets the required state on the input, append required* indicator to label.
         */
        "required"?: boolean;
        /**
          * Sets the native input type attribute.
         */
        "type": string;
        /**
          * Sets the input value.
         */
        "value": string | number;
    }
    /**
     * Displays an input element styled like a search field.
     * @docsPage 
     * @exSlot 
     */
    interface BsInputSearch {
        /**
          * aria-label to set on the internal input element.
         */
        "ariaLabel": string;
        /**
          * Sets the disabled state on the input.
         */
        "disabled": boolean;
        /**
          * Adds an id to associate a hint to an input.
         */
        "hintId"?: string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <input>.
         */
        "passAttrs": string;
        /**
          * Placeholder attribute - same as native.
         */
        "placeholder": string;
        /**
          * Sets the input value.
         */
        "value": string;
    }
    /**
     * Provides a label for form elements.
     */
    interface BsLabel {
        /**
          * Applies disabled styles to the label.
         */
        "disabled"?: boolean;
        /**
          * Applies disabled styles to the input wrapper.
         */
        "for"?: string;
        /**
          * Applies visually-hidden class to the label.
         */
        "hide"?: boolean;
        /**
          * List additional attributes by name (comma-separated) to pass through to <label>.
         */
        "passAttrs": string;
        /**
          * Pass "true" to append "*" to label text.
         */
        "required"?: boolean;
    }
    /**
     * Outputs a pill as a <span>, <button>, or <a> tag using the BSDS pill styles.
     * @docsPage 
     * @exSlot Pill Example
     */
    interface BsPill {
        /**
          * Sets the active state on the pill, when the given variant has an associated active state. Currently only applies to filter pills.
         */
        "active"?: boolean;
        /**
          * Sets the disabled state on the pill, when output as <button> or <a>.
         */
        "disabled"?: boolean;
        /**
          * Pass in a url to render the pill as an anchor tag.
         */
        "href"?: string;
        /**
          * List additional attributes (comma-separated) to pass through to <span>, <button>, or <a>.
         */
        "passAttrs": string;
        /**
          * Changes the status of the pill. See data-status in the pill docs for details.
         */
        "status"?: 'active' | 'positive' | 'warning' | 'error' | 'complete' | 'inactive';
        /**
          * Changes the variant of the pill. See data-variant in the pill docs for details.
         */
        "variant"?: 'filter' | 'filter-add' | 'filter-remove' | 'live';
    }
    /**
     * Displays a user profile image and details.
     * @docsPage 
     */
    interface BsProfile {
        /**
          * @ex WWT
         */
        "company"?: string;
        /**
          * @ex derek.zoolander@wwt.com
         */
        "email"?: string;
        /**
          * @ex https://wwt.com/profile/derek-zoolander
         */
        "href"?: string;
        /**
          * @ex lg
          * @mapTo ImageSizes
         */
        "imageSize"?: ImageSizes;
        /**
          * @ex /assets/img/zoolander.jpg
         */
        "imageSrc"?: string;
        /**
          * @ex dz
         */
        "initials": string;
        /**
          * @ex Head Model
         */
        "jobTitle"?: string;
        /**
          * @ex vertical
          * @mapTo Orientation
         */
        "layout"?: Orientation;
        /**
          * @ex Derek Zoolander
         */
        "profileName": string;
    }
    /**
     * A user's information when displayed in the profile block.
     */
    interface BsProfileDetails {
        /**
          * The name of the company that the user works for.
         */
        "company"?: string;
        /**
          * The user's email address
         */
        "email"?: string;
        /**
          * Job title of the user.
         */
        "jobTitle"?: string;
        /**
          * Name of the user. This is used to add a descriptive alt tag to the image.
         */
        "profileName": string;
    }
    /**
     * Displays an image as a Profile photo.
     */
    interface BsProfileImg {
        /**
          * Initials to display if the image src is not present.
         */
        "initials": string;
        /**
          * Name of the user. This is used to add a descriptive alt tag to the image.
         */
        "profileName": string;
        /**
          * Changes the size of the profile image
         */
        "size"?: ImageSizes;
        /**
          * The URL for the profile image.
         */
        "src"?: string;
    }
    /**
     * Sets up the user profile block layout.
     */
    interface BsProfileLayout {
        /**
          * Passing in a url changes the profile block to a link.
         */
        "href": string;
        /**
          * Change the orientation of the profile.
         */
        "layout": Orientation;
        /**
          * Any additional attributes (comma-separated) to pass through to the main element (<a> or <div>).
         */
        "passAttrs": string;
    }
    /**
     * A basic radio button component.
     * @docsPage 
     */
    interface BsRadio {
        /**
          * Sets the checked state.
         */
        "checked": boolean;
        /**
          * Sets the disabled state on the input.
         */
        "disabled": boolean;
        /**
          * Applies error styles to the input.
         */
        "error"?: boolean;
        /**
          * @ex Apples
         */
        "label": string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <input>.
         */
        "passAttrs": string;
        /**
          * Sets the required state on the input.
         */
        "required"?: boolean;
        /**
          * Sets the size of the input.
         */
        "size"?: 'sm';
        /**
          * Sets the value associated with the radio.
         */
        "value": string;
    }
    /**
     * Display a select element with custom options.
     */
    interface BsSelect {
        /**
          * Sets the disabled state on the select element.
         */
        "disabled": boolean;
        /**
          * Applies error styles to the select.
         */
        "error"?: boolean;
        /**
          * Adds an id to associate a hint to a select.
         */
        "hintId": string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <select>.
         */
        "passAttrs": string;
        /**
          * Sets the required state on the select element.
         */
        "required"?: boolean;
        /**
          * Sets the input value.
         */
        "value": string | number;
    }
    /**
     * Displays a <bs-select> field with a corresponding <bs-label> and <bs-hint>.
     * @docsPage 
     */
    interface BsSelectField {
        /**
          * @mapTo OptionProps
         */
        "data": OptionProps[];
        /**
          * Sets the disabled state on select, disabled styles on label.
         */
        "disabled": boolean;
        /**
          * Applies error styles to the select.
         */
        "error"?: boolean;
        /**
          * Pass single helper/error text or array of text.
         */
        "hints"?: string | string[];
        /**
          * Pass label text.
         */
        "label"?: string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <select>.
         */
        "passAttrs": string;
        /**
          * Pass a default placeholder option, which will have no value.
         */
        "placeholder": string;
        /**
          * Sets the required state on the select, append required* indicator to label.
         */
        "required"?: boolean;
        /**
          * Sets the select value.
         */
        "value": string | number;
    }
    /**
     * @docsPage 
     */
    interface BsSwitch {
        /**
          * Sets the "on" state and the "checked" state of the underlying <input>.
         */
        "checked": boolean;
        /**
          * Sets the disabled state on the <input> and disabled styles on the switch.
         */
        "disabled": boolean;
        /**
          * Sets the "inner" text displayed in the switch when in "on" state. Limit to 3 characters.
         */
        "innerOffLabel"?: string;
        /**
          * Sets the "inner" text displayed in the switch when in "off" state. Limit to 3 characters or you'll have a bad time.
         */
        "innerOnLabel"?: string;
        /**
          * @ex Lights
         */
        "label": string;
        /**
          * List additional attributes by name (comma-separated) to pass through to underlying <input>.
         */
        "passAttrs": string;
        /**
          * Sets the size of the switch and label.
         */
        "size"?: 'sm';
    }
    /**
     * Displays an textarea element.
     */
    interface BsTextarea {
        /**
          * Sets the disabled state on the textarea.
         */
        "disabled": boolean;
        /**
          * Applies error styles to the textarea.
         */
        "error"?: boolean;
        /**
          * Adds an id to associate a hint to a textarea.
         */
        "hintId": string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <textarea>.
         */
        "passAttrs": string;
        /**
          * Placeholder attribute - same as native
         */
        "placeholder"?: string;
        /**
          * Sets the required state on the textarea.
         */
        "required"?: boolean;
        /**
          * Sets the textarea value.
         */
        "value": string;
    }
    /**
     * @docsPage 
     */
    interface BsTextareaField {
        /**
          * Sets the maximum value this textarea will allow. Will also display character count if present. This does not set maxlength, so users are able to enter text that is longer and edit it down. Enforcement of length must be by the developer.
         */
        "charMax"?: number;
        /**
          * Sets the disabled state on textarea, disabled styles on label.
         */
        "disabled": boolean;
        /**
          * Applies error styles to the input.
         */
        "error"?: boolean;
        /**
          * Pass single helper/error text or array of text.
         */
        "hints"?: string | string[];
        /**
          * Pass label text.
         */
        "label"?: string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <input>.
         */
        "passAttrs": string;
        /**
          * Placeholder attribute - same as native attribute.
         */
        "placeholder"?: string;
        /**
          * Sets the required state on the textarea, append required* indicator to label.
         */
        "required"?: boolean;
        /**
          * Sets the textarea value.
         */
        "value": string;
    }
    /**
     * Outputs a toast for informing users of a process (either success or failure) that an app has
     * performed or will perform.
     * @docsPage 
     */
    interface BsToast {
        /**
          * Text content of the toast.
         */
        "content"?: string;
        /**
          * Determines which of the actions should trigger toast dismissal. Defaults to `'Dismiss`'.
         */
        "dismissAction": string;
        /**
          * Duration of the toast on the screen in milliseconds. Defaults to 10 seconds. Provide `0` for this property to never auto-dismiss the toast.
         */
        "duration": number;
        /**
          * Primary action name and display text. This will be the top-most / right-most button on mobile / non-mobile screens respectively. Defaults to `'Dismiss'`.
         */
        "primaryAction": string;
        /**
          * Determines primary action button display. An `undefined` value makes this a filled-in button style. Defaults to `'text'`.
         */
        "primaryActionType": 'text'|'ghost'|'primary';
        /**
          * Secondary action name and display text. This will be the middle button on both mobile and non-mobile screens.
         */
        "secondaryAction"?: string;
        /**
          * Determines secondary action button display. An `undefined` value makes this a filled-in button style. Defaults to `'text'`.
         */
        "secondaryActionType"?: 'text'|'ghost'|'primary';
        /**
          * Whether or not the toast is shown. When this value flips from `true` to `false`, the dismiss animation will play
         */
        "shown"?: boolean;
        /**
          * Whether or not this toast is stacked with other toasts within a `toaster` component
         */
        "stacked": boolean;
        /**
          * Tertiary action name and display text. This will be the bottom-most / left-most button on mobile / non-mobile screens respectively.
         */
        "tertiaryAction"?: string;
        /**
          * Determines tertiary action button display. An `undefined` value makes this a filled-in button style. Defaults to `'text'`.
         */
        "tertiaryActionType": 'text'|'ghost'|'primary';
        /**
          * @ex toast-id
         */
        "toastId": string;
        /**
          * @ex Toast Title
         */
        "toastTitle": string;
        /**
          * Controls the color/icon of the toast.
         */
        "variant"?: 'warning'|'positive'|'negative';
    }
    /**
     * Outputs a simple toaster container for stackin g multiple <toast> components together. Note that
     * each contained <toast> must have the "stacked" attribute.
     * @docsPage 
     * @exSlot <bs-toast toast-id="id1" toast-title="First Toast" stacked shown></bs-toast>
     * &t;<bs-toast toast-id="id2" duration="0" variant="warning" toast-title="Second Toast" content="I will remain!" stacked shown></bs-toast>
     * &t;<bs-toast toast-id="id3" variant="positive" toast-title="Third Toast" stacked shown></bs-toast>
     */
    interface BsToaster {
    }
    /**
     * Outputs a tooltip which are floating labels that explain the function of a user
     * interface element.
     * @docsPage 
     * @exSlot <bs-button aria-describedby="tooltip-id">Hover Me!</bs-button>
     */
    interface BsTooltip {
        /**
          * @ex Tooltip Text
         */
        "content": string;
        /**
          * Positioning of the tooltip.
         */
        "position"?: 'top'|'bottom'|'left'|'right'|'top-left'|'top-right'|'bottom-left'|'bottom-right';
        /**
          * @ex tooltip-id
         */
        "tooltipId": string;
    }
    interface DocsCodeDisplay {
        "appliedProps": {};
        "component": string;
        "slotContent": string;
    }
    interface DocsPlayground {
        "component": string;
        "docsTags": JsonDocsTag[];
        "formatRawDocs": (rawDocs: JsonDocsProp[]) => Promise<FormattedPropDocs[]>;
        "propDataFormatted": FormattedPropDocs[];
        "propDataRaw"?: JsonDocsProp[];
        /**
          * List components to capture input events emitted from the displayed component. e.g. ['bs-input-field', 'bs-switch']
         */
        "trackInputFor": string[];
    }
    interface DocsPropDisplay {
        "componentProps": FormattedPropDocs[];
    }
}
export interface BsAccordionCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsAccordionElement;
}
export interface BsBannerCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsBannerElement;
}
export interface BsDropdownCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsDropdownElement;
}
export interface BsDropdownOptionCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsDropdownOptionElement;
}
export interface BsDropdownOptionsCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsDropdownOptionsElement;
}
export interface BsInputSearchCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsInputSearchElement;
}
export interface BsToastCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLBsToastElement;
}
declare global {
    /**
     * A collapsible/expandable accordion component
     * @docsPage 
     * @exSlot Pork strip steak pastrami alcatra. Ham hock picanha filet mignon, shankle alcatra beef ribs pancetta doner ribeye burgdoggen spare ribs fatback kielbasa pork loin tenderloin. Kevin drumstick burgdoggen kielbasa t-bone strip steak shoulder spare ribs bresaola andouille ball tip swine ground round cow. Turkey pork ham hock pork chop jowl brisket. Fatback kielbasa t-bone, drumstick pork chop jerky corned beef rump prosciutto cupim biltong landjaeger alcatra.
     * &t;Short loin spare ribs boudin tail. Frankfurter kielbasa spare ribs pastrami, jerky beef ham hock drumstick. Shank beef ribs andouille pork loin. Leberkas spare ribs pork loin pork. Tail cupim landjaeger, rump boudin pork chop tri-tip jowl burgdoggen short ribs andouille meatloaf ham hock venison. Sausage doner jowl, ham shoulder meatloaf tri-tip leberkas biltong burgdoggen sirloin beef ribs salami.
     */
    interface HTMLBsAccordionElement extends Components.BsAccordion, HTMLStencilElement {
    }
    var HTMLBsAccordionElement: {
        prototype: HTMLBsAccordionElement;
        new (): HTMLBsAccordionElement;
    };
    /**
     * @docsPage 
     * @exSlot Notifications
     */
    interface HTMLBsBadgeElement extends Components.BsBadge, HTMLStencilElement {
    }
    var HTMLBsBadgeElement: {
        prototype: HTMLBsBadgeElement;
        new (): HTMLBsBadgeElement;
    };
    /**
     * Outputs a banner for displaying important messages and related optional actions.
     * @docsPage 
     * @exSlot Here’s a short message about what’s going on. Here’s more about what’s happening. Here’s a <a href="#">clickable action</a>.
     */
    interface HTMLBsBannerElement extends Components.BsBanner, HTMLStencilElement {
    }
    var HTMLBsBannerElement: {
        prototype: HTMLBsBannerElement;
        new (): HTMLBsBannerElement;
    };
    /**
     * Outputs a button or anchor tag using the BSDS button styles.
     * @docsPage 
     * @exSlot Click Me
     */
    interface HTMLBsButtonElement extends Components.BsButton, HTMLStencilElement {
    }
    var HTMLBsButtonElement: {
        prototype: HTMLBsButtonElement;
        new (): HTMLBsButtonElement;
    };
    interface HTMLBsCharacterCountElement extends Components.BsCharacterCount, HTMLStencilElement {
    }
    var HTMLBsCharacterCountElement: {
        prototype: HTMLBsCharacterCountElement;
        new (): HTMLBsCharacterCountElement;
    };
    /**
     * A bar chart component.  Client-side only.
     * @docsPage 
     */
    interface HTMLBsChartBarElement extends Components.BsChartBar, HTMLStencilElement {
    }
    var HTMLBsChartBarElement: {
        prototype: HTMLBsChartBarElement;
        new (): HTMLBsChartBarElement;
    };
    interface HTMLBsChartTableElement extends Components.BsChartTable, HTMLStencilElement {
    }
    var HTMLBsChartTableElement: {
        prototype: HTMLBsChartTableElement;
        new (): HTMLBsChartTableElement;
    };
    /**
     * A basic checkbox component.
     * @docsPage 
     */
    interface HTMLBsCheckboxElement extends Components.BsCheckbox, HTMLStencilElement {
    }
    var HTMLBsCheckboxElement: {
        prototype: HTMLBsCheckboxElement;
        new (): HTMLBsCheckboxElement;
    };
    /**
     * Outputs a button or anchor tag using the BSDS button styles.
     * @docsPage 
     * @exSlot Click Me
     */
    interface HTMLBsCircleButtonElement extends Components.BsCircleButton, HTMLStencilElement {
    }
    var HTMLBsCircleButtonElement: {
        prototype: HTMLBsCircleButtonElement;
        new (): HTMLBsCircleButtonElement;
    };
    /**
     * Outputs a dropdown which is a design pattern that conserves screen space by
     * letting users display a list of contents, navigation points, and functions
     * without flooding the user with many options simultaneously.
     * Meant ot be composited together with bs-dropdown-options and
     * bs-dropdown-option components.
     * All slotted children should be wrapped in a single outer <div>.
     */
    interface HTMLBsDropdownElement extends Components.BsDropdown, HTMLStencilElement {
    }
    var HTMLBsDropdownElement: {
        prototype: HTMLBsDropdownElement;
        new (): HTMLBsDropdownElement;
    };
    /**
     * Option list item for the bs-dropdown component. Should be used as a child
     * of the bs-dropdown-options component. Some of the props are **Parent-Provided**
     * (provided by the parent component) and are not o be given by users. All events
     * that this component emits are handled by the parent component and do not need to be listened for.
     * When using variant of 2-col and/or description, all slotted children should
     * be wrapped in a single outer <div>.
     * @docsPage 
     * @exSlot Apples
     */
    interface HTMLBsDropdownOptionElement extends Components.BsDropdownOption, HTMLStencilElement {
    }
    var HTMLBsDropdownOptionElement: {
        prototype: HTMLBsDropdownOptionElement;
        new (): HTMLBsDropdownOptionElement;
    };
    /**
     * Options list body for the bs-dropdown component. This should always be used
     * as a child of that component. This component does have props and events, but
     * they are all passed down or handled by the parent.
     * All <bs-dropdown-option> slotted children should be wrapped in a single
     * outer <div>.
     */
    interface HTMLBsDropdownOptionsElement extends Components.BsDropdownOptions, HTMLStencilElement {
    }
    var HTMLBsDropdownOptionsElement: {
        prototype: HTMLBsDropdownOptionsElement;
        new (): HTMLBsDropdownOptionsElement;
    };
    /**
     * A pre-composed container to wrap around a form element. Contains the <bs-label> and <bs-hint> web components.
     */
    interface HTMLBsFieldLayoutElement extends Components.BsFieldLayout, HTMLStencilElement {
    }
    var HTMLBsFieldLayoutElement: {
        prototype: HTMLBsFieldLayoutElement;
        new (): HTMLBsFieldLayoutElement;
    };
    /**
     * Display a hint or error message below a form element.
     */
    interface HTMLBsHintElement extends Components.BsHint, HTMLStencilElement {
    }
    var HTMLBsHintElement: {
        prototype: HTMLBsHintElement;
        new (): HTMLBsHintElement;
    };
    /**
     * Displays an input element.
     */
    interface HTMLBsInputElement extends Components.BsInput, HTMLStencilElement {
    }
    var HTMLBsInputElement: {
        prototype: HTMLBsInputElement;
        new (): HTMLBsInputElement;
    };
    /**
     * This wrapper component applies input-like styling to a primary text-like input grouped with "addons"
     * e.g. closely-related secondary inputs or icons.
     * @docsPage 
     * @exSlot <bs-select class="w-40">
     * &t;&t;<option>Placeholder</option>
     * &t;</bs-select>
     * &t;<bs-input-addon>
     * &t;&t;<bs-input placeholder="Type something here"></bs-input>
     * &t;&t;<bs-icon-biplane class="px-4"></bs-icon-biplane>
     * &t;</bs-input-addon>
     */
    interface HTMLBsInputAddonElement extends Components.BsInputAddon, HTMLStencilElement {
    }
    var HTMLBsInputAddonElement: {
        prototype: HTMLBsInputAddonElement;
        new (): HTMLBsInputAddonElement;
    };
    /**
     * Displays a <bs-input> field with a corresponding <bs-label> and <bs-hint>.
     * @docsPage 
     */
    interface HTMLBsInputFieldElement extends Components.BsInputField, HTMLStencilElement {
    }
    var HTMLBsInputFieldElement: {
        prototype: HTMLBsInputFieldElement;
        new (): HTMLBsInputFieldElement;
    };
    /**
     * Displays an input element styled like a search field.
     * @docsPage 
     * @exSlot 
     */
    interface HTMLBsInputSearchElement extends Components.BsInputSearch, HTMLStencilElement {
    }
    var HTMLBsInputSearchElement: {
        prototype: HTMLBsInputSearchElement;
        new (): HTMLBsInputSearchElement;
    };
    /**
     * Provides a label for form elements.
     */
    interface HTMLBsLabelElement extends Components.BsLabel, HTMLStencilElement {
    }
    var HTMLBsLabelElement: {
        prototype: HTMLBsLabelElement;
        new (): HTMLBsLabelElement;
    };
    /**
     * Outputs a pill as a <span>, <button>, or <a> tag using the BSDS pill styles.
     * @docsPage 
     * @exSlot Pill Example
     */
    interface HTMLBsPillElement extends Components.BsPill, HTMLStencilElement {
    }
    var HTMLBsPillElement: {
        prototype: HTMLBsPillElement;
        new (): HTMLBsPillElement;
    };
    /**
     * Displays a user profile image and details.
     * @docsPage 
     */
    interface HTMLBsProfileElement extends Components.BsProfile, HTMLStencilElement {
    }
    var HTMLBsProfileElement: {
        prototype: HTMLBsProfileElement;
        new (): HTMLBsProfileElement;
    };
    /**
     * A user's information when displayed in the profile block.
     */
    interface HTMLBsProfileDetailsElement extends Components.BsProfileDetails, HTMLStencilElement {
    }
    var HTMLBsProfileDetailsElement: {
        prototype: HTMLBsProfileDetailsElement;
        new (): HTMLBsProfileDetailsElement;
    };
    /**
     * Displays an image as a Profile photo.
     */
    interface HTMLBsProfileImgElement extends Components.BsProfileImg, HTMLStencilElement {
    }
    var HTMLBsProfileImgElement: {
        prototype: HTMLBsProfileImgElement;
        new (): HTMLBsProfileImgElement;
    };
    /**
     * Sets up the user profile block layout.
     */
    interface HTMLBsProfileLayoutElement extends Components.BsProfileLayout, HTMLStencilElement {
    }
    var HTMLBsProfileLayoutElement: {
        prototype: HTMLBsProfileLayoutElement;
        new (): HTMLBsProfileLayoutElement;
    };
    /**
     * A basic radio button component.
     * @docsPage 
     */
    interface HTMLBsRadioElement extends Components.BsRadio, HTMLStencilElement {
    }
    var HTMLBsRadioElement: {
        prototype: HTMLBsRadioElement;
        new (): HTMLBsRadioElement;
    };
    /**
     * Display a select element with custom options.
     */
    interface HTMLBsSelectElement extends Components.BsSelect, HTMLStencilElement {
    }
    var HTMLBsSelectElement: {
        prototype: HTMLBsSelectElement;
        new (): HTMLBsSelectElement;
    };
    /**
     * Displays a <bs-select> field with a corresponding <bs-label> and <bs-hint>.
     * @docsPage 
     */
    interface HTMLBsSelectFieldElement extends Components.BsSelectField, HTMLStencilElement {
    }
    var HTMLBsSelectFieldElement: {
        prototype: HTMLBsSelectFieldElement;
        new (): HTMLBsSelectFieldElement;
    };
    /**
     * @docsPage 
     */
    interface HTMLBsSwitchElement extends Components.BsSwitch, HTMLStencilElement {
    }
    var HTMLBsSwitchElement: {
        prototype: HTMLBsSwitchElement;
        new (): HTMLBsSwitchElement;
    };
    /**
     * Displays an textarea element.
     */
    interface HTMLBsTextareaElement extends Components.BsTextarea, HTMLStencilElement {
    }
    var HTMLBsTextareaElement: {
        prototype: HTMLBsTextareaElement;
        new (): HTMLBsTextareaElement;
    };
    /**
     * @docsPage 
     */
    interface HTMLBsTextareaFieldElement extends Components.BsTextareaField, HTMLStencilElement {
    }
    var HTMLBsTextareaFieldElement: {
        prototype: HTMLBsTextareaFieldElement;
        new (): HTMLBsTextareaFieldElement;
    };
    /**
     * Outputs a toast for informing users of a process (either success or failure) that an app has
     * performed or will perform.
     * @docsPage 
     */
    interface HTMLBsToastElement extends Components.BsToast, HTMLStencilElement {
    }
    var HTMLBsToastElement: {
        prototype: HTMLBsToastElement;
        new (): HTMLBsToastElement;
    };
    /**
     * Outputs a simple toaster container for stackin g multiple <toast> components together. Note that
     * each contained <toast> must have the "stacked" attribute.
     * @docsPage 
     * @exSlot <bs-toast toast-id="id1" toast-title="First Toast" stacked shown></bs-toast>
     * &t;<bs-toast toast-id="id2" duration="0" variant="warning" toast-title="Second Toast" content="I will remain!" stacked shown></bs-toast>
     * &t;<bs-toast toast-id="id3" variant="positive" toast-title="Third Toast" stacked shown></bs-toast>
     */
    interface HTMLBsToasterElement extends Components.BsToaster, HTMLStencilElement {
    }
    var HTMLBsToasterElement: {
        prototype: HTMLBsToasterElement;
        new (): HTMLBsToasterElement;
    };
    /**
     * Outputs a tooltip which are floating labels that explain the function of a user
     * interface element.
     * @docsPage 
     * @exSlot <bs-button aria-describedby="tooltip-id">Hover Me!</bs-button>
     */
    interface HTMLBsTooltipElement extends Components.BsTooltip, HTMLStencilElement {
    }
    var HTMLBsTooltipElement: {
        prototype: HTMLBsTooltipElement;
        new (): HTMLBsTooltipElement;
    };
    interface HTMLDocsCodeDisplayElement extends Components.DocsCodeDisplay, HTMLStencilElement {
    }
    var HTMLDocsCodeDisplayElement: {
        prototype: HTMLDocsCodeDisplayElement;
        new (): HTMLDocsCodeDisplayElement;
    };
    interface HTMLDocsPlaygroundElement extends Components.DocsPlayground, HTMLStencilElement {
    }
    var HTMLDocsPlaygroundElement: {
        prototype: HTMLDocsPlaygroundElement;
        new (): HTMLDocsPlaygroundElement;
    };
    interface HTMLDocsPropDisplayElement extends Components.DocsPropDisplay, HTMLStencilElement {
    }
    var HTMLDocsPropDisplayElement: {
        prototype: HTMLDocsPropDisplayElement;
        new (): HTMLDocsPropDisplayElement;
    };
    interface HTMLElementTagNameMap {
        "bs-accordion": HTMLBsAccordionElement;
        "bs-badge": HTMLBsBadgeElement;
        "bs-banner": HTMLBsBannerElement;
        "bs-button": HTMLBsButtonElement;
        "bs-character-count": HTMLBsCharacterCountElement;
        "bs-chart-bar": HTMLBsChartBarElement;
        "bs-chart-table": HTMLBsChartTableElement;
        "bs-checkbox": HTMLBsCheckboxElement;
        "bs-circle-button": HTMLBsCircleButtonElement;
        "bs-dropdown": HTMLBsDropdownElement;
        "bs-dropdown-option": HTMLBsDropdownOptionElement;
        "bs-dropdown-options": HTMLBsDropdownOptionsElement;
        "bs-field-layout": HTMLBsFieldLayoutElement;
        "bs-hint": HTMLBsHintElement;
        "bs-input": HTMLBsInputElement;
        "bs-input-addon": HTMLBsInputAddonElement;
        "bs-input-field": HTMLBsInputFieldElement;
        "bs-input-search": HTMLBsInputSearchElement;
        "bs-label": HTMLBsLabelElement;
        "bs-pill": HTMLBsPillElement;
        "bs-profile": HTMLBsProfileElement;
        "bs-profile-details": HTMLBsProfileDetailsElement;
        "bs-profile-img": HTMLBsProfileImgElement;
        "bs-profile-layout": HTMLBsProfileLayoutElement;
        "bs-radio": HTMLBsRadioElement;
        "bs-select": HTMLBsSelectElement;
        "bs-select-field": HTMLBsSelectFieldElement;
        "bs-switch": HTMLBsSwitchElement;
        "bs-textarea": HTMLBsTextareaElement;
        "bs-textarea-field": HTMLBsTextareaFieldElement;
        "bs-toast": HTMLBsToastElement;
        "bs-toaster": HTMLBsToasterElement;
        "bs-tooltip": HTMLBsTooltipElement;
        "docs-code-display": HTMLDocsCodeDisplayElement;
        "docs-playground": HTMLDocsPlaygroundElement;
        "docs-prop-display": HTMLDocsPropDisplayElement;
    }
}
declare namespace LocalJSX {
    /**
     * A collapsible/expandable accordion component
     * @docsPage 
     * @exSlot Pork strip steak pastrami alcatra. Ham hock picanha filet mignon, shankle alcatra beef ribs pancetta doner ribeye burgdoggen spare ribs fatback kielbasa pork loin tenderloin. Kevin drumstick burgdoggen kielbasa t-bone strip steak shoulder spare ribs bresaola andouille ball tip swine ground round cow. Turkey pork ham hock pork chop jowl brisket. Fatback kielbasa t-bone, drumstick pork chop jerky corned beef rump prosciutto cupim biltong landjaeger alcatra.
     * &t;Short loin spare ribs boudin tail. Frankfurter kielbasa spare ribs pastrami, jerky beef ham hock drumstick. Shank beef ribs andouille pork loin. Leberkas spare ribs pork loin pork. Tail cupim landjaeger, rump boudin pork chop tri-tip jowl burgdoggen short ribs andouille meatloaf ham hock venison. Sausage doner jowl, ham shoulder meatloaf tri-tip leberkas biltong burgdoggen sirloin beef ribs salami.
     */
    interface BsAccordion {
        /**
          * Use with 'openItem' prop. Set to true when several accordions are grouped together and only one accordion should be open at a time.
         */
        "controlled"?: boolean;
        /**
          * @ex Click to Toggle
         */
        "headerText"?: string;
        /**
          * Optional heading level to assign to the panel title. 2 thru 5.
         */
        "headingLevel"?: 2 | 3 | 4 | 5;
        /**
          * Pass in kebab-cased icon name to display an icon on the left; e.g., "case-study"
         */
        "icon"?: string;
        /**
          * Emits a 'toggled' event when the panel is clicked.  If an id has been set, it will be included as the payload.
         */
        "onToggled"?: (event: BsAccordionCustomEvent<HTMLElement["id"]>) => void;
        /**
          * Use with 'controlled' prop. Pass in true when this accordion should open.
         */
        "openItem"?: boolean;
        /**
          * Set to true when used in a stack of accordions bordering one another.
         */
        "stacked"?: boolean;
    }
    /**
     * @docsPage 
     * @exSlot Notifications
     */
    interface BsBadge {
        /**
          * Pass value to set `data-badge-color`.
         */
        "color"?: 'red' | 'blue' | 'white';
        /**
          * Pass value to show "count" indicator.  Do not use if you are passing "dot."
         */
        "count"?: number;
        /**
          * Sets the count limit after which the displayed count will stop incrementing and a "+" will be appended. Defaults to 99.
         */
        "countMax"?: number;
        /**
          * Pass "true" to show a simple dot indicator.  Do not use if you are passing a "count."
         */
        "dot"?: boolean;
        /**
          * Pass the singular name of the items that are being counted.  e.g. if we are counting unread notifications, pass "unread notification"; or if we are counting new messages, pass "new message". This is required to ensure accessibility!
         */
        "label"?: string;
        /**
          * Sets the position of the badge in relation to the slotted content. By default, badge is positioned to the right.
         */
        "position"?: 'left' | 'right';
        /**
          * Pass "true" to show the badge even when the "count" value is zero.
         */
        "showZero"?: boolean;
    }
    /**
     * Outputs a banner for displaying important messages and related optional actions.
     * @docsPage 
     * @exSlot Here’s a short message about what’s going on. Here’s more about what’s happening. Here’s a <a href="#">clickable action</a>.
     */
    interface BsBanner {
        /**
          * Emits when the user has dismissed the banner.
         */
        "onDismiss"?: (event: BsBannerCustomEvent<any>) => void;
    }
    /**
     * Outputs a button or anchor tag using the BSDS button styles.
     * @docsPage 
     * @exSlot Click Me
     */
    interface BsButton {
        /**
          * Sets the disabled state on the button.
         */
        "disabled"?: boolean;
        /**
          * Apply the ghost button style. See data-ghost in the button docs for details.
         */
        "ghostBtn"?: boolean;
        /**
          * Pass in a url to convert a button to an anchor tag.
         */
        "href"?: string;
        /**
          * List additional attributes (csv format) to pass through to <button> or <a>.
         */
        "passAttrs"?: string;
        /**
          * Sets the size of the button.
         */
        "size"?: 'sm';
        /**
          * Apply the text button style. See data-text in the button docs for details.
         */
        "textBtn"?: boolean;
        /**
          * Changes the variant of the button. See data-variant in the button docs for details.
         */
        "variant"?: 'secondary' | 'positive' | 'warning' | 'negative';
    }
    interface BsCharacterCount {
        /**
          * The number of characters that have been entered by the user.
         */
        "charCount"?: number;
        /**
          * Pass value to show character count and set the maximum number of characters that are allowed to be submitted by the user.
         */
        "charMax"?: number;
    }
    /**
     * A bar chart component.  Client-side only.
     * @docsPage 
     */
    interface BsChartBar {
        /**
          * Provide a title for the accessible text table representation of this chart.
         */
        "chartTitle"?: string;
        /**
          * Array of datasets.
          * @mapTo BarChartData
         */
        "data"?: ChartData[];
        /**
          * Array of labels for each point along the X-Axis.
          * @mapTo BarChartIdxLabels
         */
        "dataIdxLabels"?: string[];
        /**
          * Pass `true` to show legend.
         */
        "showLegend"?: boolean;
        /**
          * Pass `true` to show tooltips on hover.
         */
        "showTooltips"?: boolean;
        /**
          * Pass `true` to show vertical gridlines.
         */
        "showXGrid"?: boolean;
        /**
          * Pass `true` to show horizontal gridlines.
         */
        "showYGrid"?: boolean;
        /**
          * Pass `true` to stack each dataset's data at a given index into a single column.
         */
        "stacked"?: boolean;
        /**
          * Label for the X-Axis.
          * @ex Month
         */
        "xLabel"?: string;
        /**
          * Label for the Y-Axis.
          * @ex TPS Reports Submitted
         */
        "yLabel"?: string;
    }
    interface BsChartTable {
        "data"?: ChartData[];
        "dataIdxLabels"?: string[];
        "tableTitle"?: string;
    }
    /**
     * A basic checkbox component.
     * @docsPage 
     */
    interface BsCheckbox {
        /**
          * Sets the checked state.
         */
        "checked"?: boolean;
        /**
          * Sets the indeterminate state; i.e. partially checked.
         */
        "checkedPartially"?: boolean;
        /**
          * Sets the disabled state on the input.
         */
        "disabled"?: boolean;
        /**
          * Applies error styles to the input.
         */
        "error"?: boolean;
        /**
          * @ex Task Completed
         */
        "label"?: string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <input>.
         */
        "passAttrs"?: string;
        /**
          * Sets the required state on the input.
         */
        "required"?: boolean;
        /**
          * Sets the size of the input.
         */
        "size"?: 'sm';
    }
    /**
     * Outputs a button or anchor tag using the BSDS button styles.
     * @docsPage 
     * @exSlot Click Me
     */
    interface BsCircleButton {
        /**
          * Sets the disabled state on the button.
         */
        "disabled"?: boolean;
        /**
          * Apply the ghost button style. See data-ghost in the button docs for details.
         */
        "ghostBtn"?: boolean;
        /**
          * Set to `true` to apply hover transition effect (icon translates left or right).
         */
        "hoverEffect"?: boolean;
        /**
          * Pass in a url to convert a button to an anchor tag.
         */
        "href"?: string;
        /**
          * Pass in kebab-cased icon name to display an icon on the left; e.g., "case-study"
         */
        "icon"?: string;
        /**
          * Set the position of the icon in relation to button text.
         */
        "iconPosition"?: "left" | "right";
        /**
          * REQUIRED! Pass in text to be used as aria-label or title for non-text buttons or links, respectively, or as the button text for text buttons.
         */
        "label"?: string;
        /**
          * List additional attributes (csv format) to pass through to <button> or <a>.
         */
        "passAttrs"?: string;
        /**
          * Sets the size of the button.
         */
        "size"?: 'sm';
        /**
          * Set to `true` to display the label as text alongside the circle icon.
         */
        "textBtn"?: boolean;
    }
    /**
     * Outputs a dropdown which is a design pattern that conserves screen space by
     * letting users display a list of contents, navigation points, and functions
     * without flooding the user with many options simultaneously.
     * Meant ot be composited together with bs-dropdown-options and
     * bs-dropdown-option components.
     * All slotted children should be wrapped in a single outer <div>.
     */
    interface BsDropdown {
        /**
          * Id of the dropdown. This should also be set on the toggle element's `aria-controls` attribute and the label's `for` attribute.
          * @ex basic-dropdown-id
         */
        "dropdownId": string;
        /**
          * Option to center the dropdown.
         */
        "justify"?: 'center';
        /**
          * Optionally provide a label for the dropdown which `aria-label` will get set to. This is used as an alternative to setting the `for` attribute on a label element when there is no visible label.
         */
        "label"?: string;
        /**
          * Emits when a close event has occurred. The consumer must handle accordingly (e.g. updating show/hide).
         */
        "onClose"?: (event: BsDropdownCustomEvent<any>) => void;
        /**
          * Emits the value when an option is selected
         */
        "onDropdownchange"?: (event: BsDropdownCustomEvent<string>) => void;
        /**
          * Position of the options list. Currently only accepts "top".
         */
        "position"?: 'top';
        /**
          * Whether or not the dropdown is currently shown. Be sure to also set `aria-expanded` equal to this value on the toggle element.
         */
        "shown"?: boolean;
        /**
          * Option to set the dropdown to fit content width rather than have a fixed width.
         */
        "variant"?: 'fit';
    }
    /**
     * Option list item for the bs-dropdown component. Should be used as a child
     * of the bs-dropdown-options component. Some of the props are **Parent-Provided**
     * (provided by the parent component) and are not o be given by users. All events
     * that this component emits are handled by the parent component and do not need to be listened for.
     * When using variant of 2-col and/or description, all slotted children should
     * be wrapped in a single outer <div>.
     * @docsPage 
     * @exSlot Apples
     */
    interface BsDropdownOption {
        /**
          * [Parent-Provided] - The ID of the containing dropdown
         */
        "dropdownId"?: string;
        /**
          * [Parent-Provided] - Whether this options is currently focused.
         */
        "focused"?: boolean;
        /**
          * [Parent-Provided] - The index of this option in the options list.
         */
        "index"?: number;
        /**
          * [Parent-Handled] - Emits when the mouse hovers this option
         */
        "onMousefocus"?: (event: BsDropdownOptionCustomEvent<number>) => void;
        /**
          * [Parent-Handled] - Emits when this option is selected
         */
        "onOptionselect"?: (event: BsDropdownOptionCustomEvent<{ id: string, index: number, value: string }>) => void;
        /**
          * Whether this option is selected.
         */
        "selected"?: boolean;
        /**
          * [Parent-Provided] - Whether the dropdown is currently shown.
         */
        "shown"?: boolean;
        /**
          * Value of this option.
          * @ex apples
         */
        "value": string;
        /**
          * Variant of this option. This can be any combination of values "2-col", "description", "negative" separated by a space.  When using "2-col" or "description" variants, each child of the <li> should be in some kind of container element such as <span>.
         */
        "variant"?: string;
    }
    /**
     * Options list body for the bs-dropdown component. This should always be used
     * as a child of that component. This component does have props and events, but
     * they are all passed down or handled by the parent.
     * All <bs-dropdown-option> slotted children should be wrapped in a single
     * outer <div>.
     */
    interface BsDropdownOptions {
        /**
          * Id of the dropdown. This should also be set on the toggle element's `aria-controls` attribute and the label's `for` attribute.
         */
        "dropdownId": string;
        /**
          * Optionally provide a label for the dropdown which `aria-label` will get set to. This is used as an alternative to setting the `for` attribute on a label element when there is no visible label.
         */
        "label"?: string;
        /**
          * Emits when a close event has occurred. The consumer must handle accordingly (e.g. updating show/hide).
         */
        "onClose"?: (event: BsDropdownOptionsCustomEvent<any>) => void;
        /**
          * Emits when an option is selected
         */
        "onDropdownchange"?: (event: BsDropdownOptionsCustomEvent<string>) => void;
        /**
          * Position of the options list. Currently only accepts "top".
         */
        "position"?: 'top';
        /**
          * Whether or not the dropdown is currently shown. Be sure to also set `aria-expanded` equal to this value on the toggle element.
         */
        "shown"?: boolean;
        /**
          * Option to set the dropdown to fit content width rather than have a fixed width.
         */
        "variant"?: 'fit';
    }
    /**
     * A pre-composed container to wrap around a form element. Contains the <bs-label> and <bs-hint> web components.
     */
    interface BsFieldLayout {
        /**
          * The number of characters that have been entered by the user.
         */
        "charCount"?: number;
        /**
          * Pass value to show character count and set the maximum number of characters that are allowed to be submitted by the user.
         */
        "charMax"?: number;
        /**
          * Applies disabled styles to the label.
         */
        "disabled"?: boolean;
        /**
          * Applies error styles to the helper text.
         */
        "error"?: boolean;
        /**
          * Adds an id to associate a hint to an input.
         */
        "hintId"?: string;
        /**
          * Pass single helper/error text or array of text.
         */
        "hints"?: string | string[];
        /**
          * Pass label text.
         */
        "label"?: string;
        /**
          * Pass input id to assign to label's "for" attribute.
         */
        "labelFor"?: string;
        /**
          * Append required* indicator to label.
         */
        "required"?: boolean;
    }
    /**
     * Display a hint or error message below a form element.
     */
    interface BsHint {
        /**
          * Applies error styles to text.
         */
        "error"?: boolean;
        /**
          * Adds an id to associate a hint to an input.
         */
        "hintId"?: string;
        /**
          * A string or array of strings to be displayed by the hint.
         */
        "hints"?: string | string[];
    }
    /**
     * Displays an input element.
     */
    interface BsInput {
        /**
          * Sets the disabled state on the input.
         */
        "disabled"?: boolean;
        /**
          * Applies error styles to the input.
         */
        "error"?: boolean;
        /**
          * Adds an id to associate a hint to an input.
         */
        "hintId"?: string;
        /**
          * List additional attributes (comma-separated) by name to pass through to <input>.
         */
        "passAttrs"?: string;
        /**
          * Placeholder attribute - same as native
         */
        "placeholder"?: string;
        /**
          * Sets the required state on the input.
         */
        "required"?: boolean;
        /**
          * Sets the native input type attribute.
         */
        "type"?: string;
        /**
          * Sets the input value.
         */
        "value"?: string | number;
    }
    /**
     * This wrapper component applies input-like styling to a primary text-like input grouped with "addons"
     * e.g. closely-related secondary inputs or icons.
     * @docsPage 
     * @exSlot <bs-select class="w-40">
     * &t;&t;<option>Placeholder</option>
     * &t;</bs-select>
     * &t;<bs-input-addon>
     * &t;&t;<bs-input placeholder="Type something here"></bs-input>
     * &t;&t;<bs-icon-biplane class="px-4"></bs-icon-biplane>
     * &t;</bs-input-addon>
     */
    interface BsInputAddon {
        /**
          * Pass `true` to set disabled styles on container.
         */
        "disabled"?: boolean;
        /**
          * Pass `true` to set error styles on container.
         */
        "error"?: boolean;
        /**
          * Pass `true` when slotting multiple focusable elements.
         */
        "multifocus"?: boolean;
        /**
          * Variant `inner-bordered` will separate the slotted items with a border.
         */
        "variant"?: 'inner-bordered';
    }
    /**
     * Displays a <bs-input> field with a corresponding <bs-label> and <bs-hint>.
     * @docsPage 
     */
    interface BsInputField {
        /**
          * Sets the disabled state on input, disabled styles on label.
         */
        "disabled"?: boolean;
        /**
          * Applies error styles to the input.
         */
        "error"?: boolean;
        /**
          * Pass single helper/error text or array of text.
         */
        "hints"?: string | string[];
        /**
          * Pass label text.
         */
        "label"?: string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <input>.
         */
        "passAttrs"?: string;
        /**
          * Placeholder attribute - same as native
         */
        "placeholder"?: string;
        /**
          * Sets the required state on the input, append required* indicator to label.
         */
        "required"?: boolean;
        /**
          * Sets the native input type attribute.
         */
        "type"?: string;
        /**
          * Sets the input value.
         */
        "value"?: string | number;
    }
    /**
     * Displays an input element styled like a search field.
     * @docsPage 
     * @exSlot 
     */
    interface BsInputSearch {
        /**
          * aria-label to set on the internal input element.
         */
        "ariaLabel"?: string;
        /**
          * Sets the disabled state on the input.
         */
        "disabled"?: boolean;
        /**
          * Adds an id to associate a hint to an input.
         */
        "hintId"?: string;
        /**
          * Emits the clear button is clicked.
         */
        "onOnclear"?: (event: BsInputSearchCustomEvent<any>) => void;
        /**
          * List additional attributes by name (comma-separated) to pass through to <input>.
         */
        "passAttrs"?: string;
        /**
          * Placeholder attribute - same as native.
         */
        "placeholder"?: string;
        /**
          * Sets the input value.
         */
        "value"?: string;
    }
    /**
     * Provides a label for form elements.
     */
    interface BsLabel {
        /**
          * Applies disabled styles to the label.
         */
        "disabled"?: boolean;
        /**
          * Applies disabled styles to the input wrapper.
         */
        "for"?: string;
        /**
          * Applies visually-hidden class to the label.
         */
        "hide"?: boolean;
        /**
          * List additional attributes by name (comma-separated) to pass through to <label>.
         */
        "passAttrs"?: string;
        /**
          * Pass "true" to append "*" to label text.
         */
        "required"?: boolean;
    }
    /**
     * Outputs a pill as a <span>, <button>, or <a> tag using the BSDS pill styles.
     * @docsPage 
     * @exSlot Pill Example
     */
    interface BsPill {
        /**
          * Sets the active state on the pill, when the given variant has an associated active state. Currently only applies to filter pills.
         */
        "active"?: boolean;
        /**
          * Sets the disabled state on the pill, when output as <button> or <a>.
         */
        "disabled"?: boolean;
        /**
          * Pass in a url to render the pill as an anchor tag.
         */
        "href"?: string;
        /**
          * List additional attributes (comma-separated) to pass through to <span>, <button>, or <a>.
         */
        "passAttrs"?: string;
        /**
          * Changes the status of the pill. See data-status in the pill docs for details.
         */
        "status"?: 'active' | 'positive' | 'warning' | 'error' | 'complete' | 'inactive';
        /**
          * Changes the variant of the pill. See data-variant in the pill docs for details.
         */
        "variant"?: 'filter' | 'filter-add' | 'filter-remove' | 'live';
    }
    /**
     * Displays a user profile image and details.
     * @docsPage 
     */
    interface BsProfile {
        /**
          * @ex WWT
         */
        "company"?: string;
        /**
          * @ex derek.zoolander@wwt.com
         */
        "email"?: string;
        /**
          * @ex https://wwt.com/profile/derek-zoolander
         */
        "href"?: string;
        /**
          * @ex lg
          * @mapTo ImageSizes
         */
        "imageSize"?: ImageSizes;
        /**
          * @ex /assets/img/zoolander.jpg
         */
        "imageSrc"?: string;
        /**
          * @ex dz
         */
        "initials"?: string;
        /**
          * @ex Head Model
         */
        "jobTitle"?: string;
        /**
          * @ex vertical
          * @mapTo Orientation
         */
        "layout"?: Orientation;
        /**
          * @ex Derek Zoolander
         */
        "profileName"?: string;
    }
    /**
     * A user's information when displayed in the profile block.
     */
    interface BsProfileDetails {
        /**
          * The name of the company that the user works for.
         */
        "company"?: string;
        /**
          * The user's email address
         */
        "email"?: string;
        /**
          * Job title of the user.
         */
        "jobTitle"?: string;
        /**
          * Name of the user. This is used to add a descriptive alt tag to the image.
         */
        "profileName"?: string;
    }
    /**
     * Displays an image as a Profile photo.
     */
    interface BsProfileImg {
        /**
          * Initials to display if the image src is not present.
         */
        "initials"?: string;
        /**
          * Name of the user. This is used to add a descriptive alt tag to the image.
         */
        "profileName"?: string;
        /**
          * Changes the size of the profile image
         */
        "size"?: ImageSizes;
        /**
          * The URL for the profile image.
         */
        "src"?: string;
    }
    /**
     * Sets up the user profile block layout.
     */
    interface BsProfileLayout {
        /**
          * Passing in a url changes the profile block to a link.
         */
        "href"?: string;
        /**
          * Change the orientation of the profile.
         */
        "layout"?: Orientation;
        /**
          * Any additional attributes (comma-separated) to pass through to the main element (<a> or <div>).
         */
        "passAttrs"?: string;
    }
    /**
     * A basic radio button component.
     * @docsPage 
     */
    interface BsRadio {
        /**
          * Sets the checked state.
         */
        "checked"?: boolean;
        /**
          * Sets the disabled state on the input.
         */
        "disabled"?: boolean;
        /**
          * Applies error styles to the input.
         */
        "error"?: boolean;
        /**
          * @ex Apples
         */
        "label"?: string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <input>.
         */
        "passAttrs"?: string;
        /**
          * Sets the required state on the input.
         */
        "required"?: boolean;
        /**
          * Sets the size of the input.
         */
        "size"?: 'sm';
        /**
          * Sets the value associated with the radio.
         */
        "value"?: string;
    }
    /**
     * Display a select element with custom options.
     */
    interface BsSelect {
        /**
          * Sets the disabled state on the select element.
         */
        "disabled"?: boolean;
        /**
          * Applies error styles to the select.
         */
        "error"?: boolean;
        /**
          * Adds an id to associate a hint to a select.
         */
        "hintId"?: string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <select>.
         */
        "passAttrs"?: string;
        /**
          * Sets the required state on the select element.
         */
        "required"?: boolean;
        /**
          * Sets the input value.
         */
        "value"?: string | number;
    }
    /**
     * Displays a <bs-select> field with a corresponding <bs-label> and <bs-hint>.
     * @docsPage 
     */
    interface BsSelectField {
        /**
          * @mapTo OptionProps
         */
        "data"?: OptionProps[];
        /**
          * Sets the disabled state on select, disabled styles on label.
         */
        "disabled"?: boolean;
        /**
          * Applies error styles to the select.
         */
        "error"?: boolean;
        /**
          * Pass single helper/error text or array of text.
         */
        "hints"?: string | string[];
        /**
          * Pass label text.
         */
        "label"?: string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <select>.
         */
        "passAttrs"?: string;
        /**
          * Pass a default placeholder option, which will have no value.
         */
        "placeholder"?: string;
        /**
          * Sets the required state on the select, append required* indicator to label.
         */
        "required"?: boolean;
        /**
          * Sets the select value.
         */
        "value"?: string | number;
    }
    /**
     * @docsPage 
     */
    interface BsSwitch {
        /**
          * Sets the "on" state and the "checked" state of the underlying <input>.
         */
        "checked"?: boolean;
        /**
          * Sets the disabled state on the <input> and disabled styles on the switch.
         */
        "disabled"?: boolean;
        /**
          * Sets the "inner" text displayed in the switch when in "on" state. Limit to 3 characters.
         */
        "innerOffLabel"?: string;
        /**
          * Sets the "inner" text displayed in the switch when in "off" state. Limit to 3 characters or you'll have a bad time.
         */
        "innerOnLabel"?: string;
        /**
          * @ex Lights
         */
        "label"?: string;
        /**
          * List additional attributes by name (comma-separated) to pass through to underlying <input>.
         */
        "passAttrs"?: string;
        /**
          * Sets the size of the switch and label.
         */
        "size"?: 'sm';
    }
    /**
     * Displays an textarea element.
     */
    interface BsTextarea {
        /**
          * Sets the disabled state on the textarea.
         */
        "disabled"?: boolean;
        /**
          * Applies error styles to the textarea.
         */
        "error"?: boolean;
        /**
          * Adds an id to associate a hint to a textarea.
         */
        "hintId"?: string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <textarea>.
         */
        "passAttrs"?: string;
        /**
          * Placeholder attribute - same as native
         */
        "placeholder"?: string;
        /**
          * Sets the required state on the textarea.
         */
        "required"?: boolean;
        /**
          * Sets the textarea value.
         */
        "value"?: string;
    }
    /**
     * @docsPage 
     */
    interface BsTextareaField {
        /**
          * Sets the maximum value this textarea will allow. Will also display character count if present. This does not set maxlength, so users are able to enter text that is longer and edit it down. Enforcement of length must be by the developer.
         */
        "charMax"?: number;
        /**
          * Sets the disabled state on textarea, disabled styles on label.
         */
        "disabled"?: boolean;
        /**
          * Applies error styles to the input.
         */
        "error"?: boolean;
        /**
          * Pass single helper/error text or array of text.
         */
        "hints"?: string | string[];
        /**
          * Pass label text.
         */
        "label"?: string;
        /**
          * List additional attributes by name (comma-separated) to pass through to <input>.
         */
        "passAttrs"?: string;
        /**
          * Placeholder attribute - same as native attribute.
         */
        "placeholder"?: string;
        /**
          * Sets the required state on the textarea, append required* indicator to label.
         */
        "required"?: boolean;
        /**
          * Sets the textarea value.
         */
        "value"?: string;
    }
    /**
     * Outputs a toast for informing users of a process (either success or failure) that an app has
     * performed or will perform.
     * @docsPage 
     */
    interface BsToast {
        /**
          * Text content of the toast.
         */
        "content"?: string;
        /**
          * Determines which of the actions should trigger toast dismissal. Defaults to `'Dismiss`'.
         */
        "dismissAction"?: string;
        /**
          * Duration of the toast on the screen in milliseconds. Defaults to 10 seconds. Provide `0` for this property to never auto-dismiss the toast.
         */
        "duration"?: number;
        /**
          * Emits when any of the action buttons (aside from `dismiss-action` button) are clicked. Event will have details in format &lt;toastId&gt;::&lt;action&gt;.
         */
        "onActionclick"?: (event: BsToastCustomEvent<string>) => void;
        /**
          * Emits when the `dismiss-action` button is clicked or the toast dismisses automatically after the `duration`. Event will have details in format &lt;toastId&gt;::&lt;dismissed&gt;.
         */
        "onDismiss"?: (event: BsToastCustomEvent<string>) => void;
        /**
          * Primary action name and display text. This will be the top-most / right-most button on mobile / non-mobile screens respectively. Defaults to `'Dismiss'`.
         */
        "primaryAction"?: string;
        /**
          * Determines primary action button display. An `undefined` value makes this a filled-in button style. Defaults to `'text'`.
         */
        "primaryActionType"?: 'text'|'ghost'|'primary';
        /**
          * Secondary action name and display text. This will be the middle button on both mobile and non-mobile screens.
         */
        "secondaryAction"?: string;
        /**
          * Determines secondary action button display. An `undefined` value makes this a filled-in button style. Defaults to `'text'`.
         */
        "secondaryActionType"?: 'text'|'ghost'|'primary';
        /**
          * Whether or not the toast is shown. When this value flips from `true` to `false`, the dismiss animation will play
         */
        "shown"?: boolean;
        /**
          * Whether or not this toast is stacked with other toasts within a `toaster` component
         */
        "stacked"?: boolean;
        /**
          * Tertiary action name and display text. This will be the bottom-most / left-most button on mobile / non-mobile screens respectively.
         */
        "tertiaryAction"?: string;
        /**
          * Determines tertiary action button display. An `undefined` value makes this a filled-in button style. Defaults to `'text'`.
         */
        "tertiaryActionType"?: 'text'|'ghost'|'primary';
        /**
          * @ex toast-id
         */
        "toastId": string;
        /**
          * @ex Toast Title
         */
        "toastTitle": string;
        /**
          * Controls the color/icon of the toast.
         */
        "variant"?: 'warning'|'positive'|'negative';
    }
    /**
     * Outputs a simple toaster container for stackin g multiple <toast> components together. Note that
     * each contained <toast> must have the "stacked" attribute.
     * @docsPage 
     * @exSlot <bs-toast toast-id="id1" toast-title="First Toast" stacked shown></bs-toast>
     * &t;<bs-toast toast-id="id2" duration="0" variant="warning" toast-title="Second Toast" content="I will remain!" stacked shown></bs-toast>
     * &t;<bs-toast toast-id="id3" variant="positive" toast-title="Third Toast" stacked shown></bs-toast>
     */
    interface BsToaster {
    }
    /**
     * Outputs a tooltip which are floating labels that explain the function of a user
     * interface element.
     * @docsPage 
     * @exSlot <bs-button aria-describedby="tooltip-id">Hover Me!</bs-button>
     */
    interface BsTooltip {
        /**
          * @ex Tooltip Text
         */
        "content": string;
        /**
          * Positioning of the tooltip.
         */
        "position"?: 'top'|'bottom'|'left'|'right'|'top-left'|'top-right'|'bottom-left'|'bottom-right';
        /**
          * @ex tooltip-id
         */
        "tooltipId": string;
    }
    interface DocsCodeDisplay {
        "appliedProps"?: {};
        "component"?: string;
        "slotContent"?: string;
    }
    interface DocsPlayground {
        "component"?: string;
        "docsTags"?: JsonDocsTag[];
        "propDataFormatted"?: FormattedPropDocs[];
        "propDataRaw"?: JsonDocsProp[];
        /**
          * List components to capture input events emitted from the displayed component. e.g. ['bs-input-field', 'bs-switch']
         */
        "trackInputFor"?: string[];
    }
    interface DocsPropDisplay {
        "componentProps"?: FormattedPropDocs[];
    }
    interface IntrinsicElements {
        "bs-accordion": BsAccordion;
        "bs-badge": BsBadge;
        "bs-banner": BsBanner;
        "bs-button": BsButton;
        "bs-character-count": BsCharacterCount;
        "bs-chart-bar": BsChartBar;
        "bs-chart-table": BsChartTable;
        "bs-checkbox": BsCheckbox;
        "bs-circle-button": BsCircleButton;
        "bs-dropdown": BsDropdown;
        "bs-dropdown-option": BsDropdownOption;
        "bs-dropdown-options": BsDropdownOptions;
        "bs-field-layout": BsFieldLayout;
        "bs-hint": BsHint;
        "bs-input": BsInput;
        "bs-input-addon": BsInputAddon;
        "bs-input-field": BsInputField;
        "bs-input-search": BsInputSearch;
        "bs-label": BsLabel;
        "bs-pill": BsPill;
        "bs-profile": BsProfile;
        "bs-profile-details": BsProfileDetails;
        "bs-profile-img": BsProfileImg;
        "bs-profile-layout": BsProfileLayout;
        "bs-radio": BsRadio;
        "bs-select": BsSelect;
        "bs-select-field": BsSelectField;
        "bs-switch": BsSwitch;
        "bs-textarea": BsTextarea;
        "bs-textarea-field": BsTextareaField;
        "bs-toast": BsToast;
        "bs-toaster": BsToaster;
        "bs-tooltip": BsTooltip;
        "docs-code-display": DocsCodeDisplay;
        "docs-playground": DocsPlayground;
        "docs-prop-display": DocsPropDisplay;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            /**
             * A collapsible/expandable accordion component
             * @docsPage 
             * @exSlot Pork strip steak pastrami alcatra. Ham hock picanha filet mignon, shankle alcatra beef ribs pancetta doner ribeye burgdoggen spare ribs fatback kielbasa pork loin tenderloin. Kevin drumstick burgdoggen kielbasa t-bone strip steak shoulder spare ribs bresaola andouille ball tip swine ground round cow. Turkey pork ham hock pork chop jowl brisket. Fatback kielbasa t-bone, drumstick pork chop jerky corned beef rump prosciutto cupim biltong landjaeger alcatra.
             * &t;Short loin spare ribs boudin tail. Frankfurter kielbasa spare ribs pastrami, jerky beef ham hock drumstick. Shank beef ribs andouille pork loin. Leberkas spare ribs pork loin pork. Tail cupim landjaeger, rump boudin pork chop tri-tip jowl burgdoggen short ribs andouille meatloaf ham hock venison. Sausage doner jowl, ham shoulder meatloaf tri-tip leberkas biltong burgdoggen sirloin beef ribs salami.
             */
            "bs-accordion": LocalJSX.BsAccordion & JSXBase.HTMLAttributes<HTMLBsAccordionElement>;
            /**
             * @docsPage 
             * @exSlot Notifications
             */
            "bs-badge": LocalJSX.BsBadge & JSXBase.HTMLAttributes<HTMLBsBadgeElement>;
            /**
             * Outputs a banner for displaying important messages and related optional actions.
             * @docsPage 
             * @exSlot Here’s a short message about what’s going on. Here’s more about what’s happening. Here’s a <a href="#">clickable action</a>.
             */
            "bs-banner": LocalJSX.BsBanner & JSXBase.HTMLAttributes<HTMLBsBannerElement>;
            /**
             * Outputs a button or anchor tag using the BSDS button styles.
             * @docsPage 
             * @exSlot Click Me
             */
            "bs-button": LocalJSX.BsButton & JSXBase.HTMLAttributes<HTMLBsButtonElement>;
            "bs-character-count": LocalJSX.BsCharacterCount & JSXBase.HTMLAttributes<HTMLBsCharacterCountElement>;
            /**
             * A bar chart component.  Client-side only.
             * @docsPage 
             */
            "bs-chart-bar": LocalJSX.BsChartBar & JSXBase.HTMLAttributes<HTMLBsChartBarElement>;
            "bs-chart-table": LocalJSX.BsChartTable & JSXBase.HTMLAttributes<HTMLBsChartTableElement>;
            /**
             * A basic checkbox component.
             * @docsPage 
             */
            "bs-checkbox": LocalJSX.BsCheckbox & JSXBase.HTMLAttributes<HTMLBsCheckboxElement>;
            /**
             * Outputs a button or anchor tag using the BSDS button styles.
             * @docsPage 
             * @exSlot Click Me
             */
            "bs-circle-button": LocalJSX.BsCircleButton & JSXBase.HTMLAttributes<HTMLBsCircleButtonElement>;
            /**
             * Outputs a dropdown which is a design pattern that conserves screen space by
             * letting users display a list of contents, navigation points, and functions
             * without flooding the user with many options simultaneously.
             * Meant ot be composited together with bs-dropdown-options and
             * bs-dropdown-option components.
             * All slotted children should be wrapped in a single outer <div>.
             */
            "bs-dropdown": LocalJSX.BsDropdown & JSXBase.HTMLAttributes<HTMLBsDropdownElement>;
            /**
             * Option list item for the bs-dropdown component. Should be used as a child
             * of the bs-dropdown-options component. Some of the props are **Parent-Provided**
             * (provided by the parent component) and are not o be given by users. All events
             * that this component emits are handled by the parent component and do not need to be listened for.
             * When using variant of 2-col and/or description, all slotted children should
             * be wrapped in a single outer <div>.
             * @docsPage 
             * @exSlot Apples
             */
            "bs-dropdown-option": LocalJSX.BsDropdownOption & JSXBase.HTMLAttributes<HTMLBsDropdownOptionElement>;
            /**
             * Options list body for the bs-dropdown component. This should always be used
             * as a child of that component. This component does have props and events, but
             * they are all passed down or handled by the parent.
             * All <bs-dropdown-option> slotted children should be wrapped in a single
             * outer <div>.
             */
            "bs-dropdown-options": LocalJSX.BsDropdownOptions & JSXBase.HTMLAttributes<HTMLBsDropdownOptionsElement>;
            /**
             * A pre-composed container to wrap around a form element. Contains the <bs-label> and <bs-hint> web components.
             */
            "bs-field-layout": LocalJSX.BsFieldLayout & JSXBase.HTMLAttributes<HTMLBsFieldLayoutElement>;
            /**
             * Display a hint or error message below a form element.
             */
            "bs-hint": LocalJSX.BsHint & JSXBase.HTMLAttributes<HTMLBsHintElement>;
            /**
             * Displays an input element.
             */
            "bs-input": LocalJSX.BsInput & JSXBase.HTMLAttributes<HTMLBsInputElement>;
            /**
             * This wrapper component applies input-like styling to a primary text-like input grouped with "addons"
             * e.g. closely-related secondary inputs or icons.
             * @docsPage 
             * @exSlot <bs-select class="w-40">
             * &t;&t;<option>Placeholder</option>
             * &t;</bs-select>
             * &t;<bs-input-addon>
             * &t;&t;<bs-input placeholder="Type something here"></bs-input>
             * &t;&t;<bs-icon-biplane class="px-4"></bs-icon-biplane>
             * &t;</bs-input-addon>
             */
            "bs-input-addon": LocalJSX.BsInputAddon & JSXBase.HTMLAttributes<HTMLBsInputAddonElement>;
            /**
             * Displays a <bs-input> field with a corresponding <bs-label> and <bs-hint>.
             * @docsPage 
             */
            "bs-input-field": LocalJSX.BsInputField & JSXBase.HTMLAttributes<HTMLBsInputFieldElement>;
            /**
             * Displays an input element styled like a search field.
             * @docsPage 
             * @exSlot 
             */
            "bs-input-search": LocalJSX.BsInputSearch & JSXBase.HTMLAttributes<HTMLBsInputSearchElement>;
            /**
             * Provides a label for form elements.
             */
            "bs-label": LocalJSX.BsLabel & JSXBase.HTMLAttributes<HTMLBsLabelElement>;
            /**
             * Outputs a pill as a <span>, <button>, or <a> tag using the BSDS pill styles.
             * @docsPage 
             * @exSlot Pill Example
             */
            "bs-pill": LocalJSX.BsPill & JSXBase.HTMLAttributes<HTMLBsPillElement>;
            /**
             * Displays a user profile image and details.
             * @docsPage 
             */
            "bs-profile": LocalJSX.BsProfile & JSXBase.HTMLAttributes<HTMLBsProfileElement>;
            /**
             * A user's information when displayed in the profile block.
             */
            "bs-profile-details": LocalJSX.BsProfileDetails & JSXBase.HTMLAttributes<HTMLBsProfileDetailsElement>;
            /**
             * Displays an image as a Profile photo.
             */
            "bs-profile-img": LocalJSX.BsProfileImg & JSXBase.HTMLAttributes<HTMLBsProfileImgElement>;
            /**
             * Sets up the user profile block layout.
             */
            "bs-profile-layout": LocalJSX.BsProfileLayout & JSXBase.HTMLAttributes<HTMLBsProfileLayoutElement>;
            /**
             * A basic radio button component.
             * @docsPage 
             */
            "bs-radio": LocalJSX.BsRadio & JSXBase.HTMLAttributes<HTMLBsRadioElement>;
            /**
             * Display a select element with custom options.
             */
            "bs-select": LocalJSX.BsSelect & JSXBase.HTMLAttributes<HTMLBsSelectElement>;
            /**
             * Displays a <bs-select> field with a corresponding <bs-label> and <bs-hint>.
             * @docsPage 
             */
            "bs-select-field": LocalJSX.BsSelectField & JSXBase.HTMLAttributes<HTMLBsSelectFieldElement>;
            /**
             * @docsPage 
             */
            "bs-switch": LocalJSX.BsSwitch & JSXBase.HTMLAttributes<HTMLBsSwitchElement>;
            /**
             * Displays an textarea element.
             */
            "bs-textarea": LocalJSX.BsTextarea & JSXBase.HTMLAttributes<HTMLBsTextareaElement>;
            /**
             * @docsPage 
             */
            "bs-textarea-field": LocalJSX.BsTextareaField & JSXBase.HTMLAttributes<HTMLBsTextareaFieldElement>;
            /**
             * Outputs a toast for informing users of a process (either success or failure) that an app has
             * performed or will perform.
             * @docsPage 
             */
            "bs-toast": LocalJSX.BsToast & JSXBase.HTMLAttributes<HTMLBsToastElement>;
            /**
             * Outputs a simple toaster container for stackin g multiple <toast> components together. Note that
             * each contained <toast> must have the "stacked" attribute.
             * @docsPage 
             * @exSlot <bs-toast toast-id="id1" toast-title="First Toast" stacked shown></bs-toast>
             * &t;<bs-toast toast-id="id2" duration="0" variant="warning" toast-title="Second Toast" content="I will remain!" stacked shown></bs-toast>
             * &t;<bs-toast toast-id="id3" variant="positive" toast-title="Third Toast" stacked shown></bs-toast>
             */
            "bs-toaster": LocalJSX.BsToaster & JSXBase.HTMLAttributes<HTMLBsToasterElement>;
            /**
             * Outputs a tooltip which are floating labels that explain the function of a user
             * interface element.
             * @docsPage 
             * @exSlot <bs-button aria-describedby="tooltip-id">Hover Me!</bs-button>
             */
            "bs-tooltip": LocalJSX.BsTooltip & JSXBase.HTMLAttributes<HTMLBsTooltipElement>;
            "docs-code-display": LocalJSX.DocsCodeDisplay & JSXBase.HTMLAttributes<HTMLDocsCodeDisplayElement>;
            "docs-playground": LocalJSX.DocsPlayground & JSXBase.HTMLAttributes<HTMLDocsPlaygroundElement>;
            "docs-prop-display": LocalJSX.DocsPropDisplay & JSXBase.HTMLAttributes<HTMLDocsPropDisplayElement>;
        }
    }
}
