/// <reference types="../index.d.ts" />
import type { Accordion } from "../components/calcite-accordion/customElement.js";
import type { AccordionItem } from "../components/calcite-accordion-item/customElement.js";
import type { Action } from "../components/calcite-action/customElement.js";
import type { ActionBar } from "../components/calcite-action-bar/customElement.js";
import type { ActionGroup } from "../components/calcite-action-group/customElement.js";
import type { ActionMenu } from "../components/calcite-action-menu/customElement.js";
import type { ActionPad } from "../components/calcite-action-pad/customElement.js";
import type { Alert } from "../components/calcite-alert/customElement.js";
import type { Autocomplete } from "../components/calcite-autocomplete/customElement.js";
import type { AutocompleteItem } from "../components/calcite-autocomplete-item/customElement.js";
import type { AutocompleteItemGroup } from "../components/calcite-autocomplete-item-group/customElement.js";
import type { Avatar } from "../components/calcite-avatar/customElement.js";
import type { Block } from "../components/calcite-block/customElement.js";
import type { BlockGroup } from "../components/calcite-block-group/customElement.js";
import type { BlockSection } from "../components/calcite-block-section/customElement.js";
import type { Button } from "../components/calcite-button/customElement.js";
import type { Card } from "../components/calcite-card/customElement.js";
import type { CardGroup } from "../components/calcite-card-group/customElement.js";
import type { Carousel } from "../components/calcite-carousel/customElement.js";
import type { CarouselItem } from "../components/calcite-carousel-item/customElement.js";
import type { Checkbox } from "../components/calcite-checkbox/customElement.js";
import type { Chip } from "../components/calcite-chip/customElement.js";
import type { ChipGroup } from "../components/calcite-chip-group/customElement.js";
import type { ColorPicker } from "../components/calcite-color-picker/customElement.js";
import type { ColorPickerHexInput } from "../components/calcite-color-picker-hex-input/customElement.js";
import type { ColorPickerSwatch } from "../components/calcite-color-picker-swatch/customElement.js";
import type { Combobox } from "../components/calcite-combobox/customElement.js";
import type { ComboboxItem } from "../components/calcite-combobox-item/customElement.js";
import type { ComboboxItemGroup } from "../components/calcite-combobox-item-group/customElement.js";
import type { DatePicker } from "../components/calcite-date-picker/customElement.js";
import type { DatePickerDay } from "../components/calcite-date-picker-day/customElement.js";
import type { DatePickerMonth } from "../components/calcite-date-picker-month/customElement.js";
import type { Dialog } from "../components/calcite-dialog/customElement.js";
import type { Dropdown } from "../components/calcite-dropdown/customElement.js";
import type { DropdownGroup } from "../components/calcite-dropdown-group/customElement.js";
import type { DropdownItem } from "../components/calcite-dropdown-item/customElement.js";
import type { Fab } from "../components/calcite-fab/customElement.js";
import type { Filter } from "../components/calcite-filter/customElement.js";
import type { Flow } from "../components/calcite-flow/customElement.js";
import type { FlowItem } from "../components/calcite-flow-item/customElement.js";
import type { FocusTrap } from "../components/calcite-focus-trap/customElement.js";
import type { Graph } from "../components/calcite-graph/customElement.js";
import type { Handle } from "../components/calcite-handle/customElement.js";
import type { Icon } from "../components/calcite-icon/customElement.js";
import type { InlineEditable } from "../components/calcite-inline-editable/customElement.js";
import type { Input } from "../components/calcite-input/customElement.js";
import type { InputDatePicker } from "../components/calcite-input-date-picker/customElement.js";
import type { InputMessage } from "../components/calcite-input-message/customElement.js";
import type { InputNumber } from "../components/calcite-input-number/customElement.js";
import type { InputText } from "../components/calcite-input-text/customElement.js";
import type { InputTimePicker } from "../components/calcite-input-time-picker/customElement.js";
import type { InputTimeZone } from "../components/calcite-input-time-zone/customElement.js";
import type { Label } from "../components/calcite-label/customElement.js";
import type { Link } from "../components/calcite-link/customElement.js";
import type { List } from "../components/calcite-list/customElement.js";
import type { ListItem } from "../components/calcite-list-item/customElement.js";
import type { ListItemGroup } from "../components/calcite-list-item-group/customElement.js";
import type { Loader } from "../components/calcite-loader/customElement.js";
import type { Menu } from "../components/calcite-menu/customElement.js";
import type { MenuItem } from "../components/calcite-menu-item/customElement.js";
import type { Meter } from "../components/calcite-meter/customElement.js";
import type { Navigation } from "../components/calcite-navigation/customElement.js";
import type { NavigationLogo } from "../components/calcite-navigation-logo/customElement.js";
import type { NavigationUser } from "../components/calcite-navigation-user/customElement.js";
import type { Notice } from "../components/calcite-notice/customElement.js";
import type { Option } from "../components/calcite-option/customElement.js";
import type { OptionGroup } from "../components/calcite-option-group/customElement.js";
import type { Pagination } from "../components/calcite-pagination/customElement.js";
import type { Panel } from "../components/calcite-panel/customElement.js";
import type { Popover } from "../components/calcite-popover/customElement.js";
import type { Progress } from "../components/calcite-progress/customElement.js";
import type { RadioButton } from "../components/calcite-radio-button/customElement.js";
import type { RadioButtonGroup } from "../components/calcite-radio-button-group/customElement.js";
import type { Rating } from "../components/calcite-rating/customElement.js";
import type { Scrim } from "../components/calcite-scrim/customElement.js";
import type { SegmentedControl } from "../components/calcite-segmented-control/customElement.js";
import type { SegmentedControlItem } from "../components/calcite-segmented-control-item/customElement.js";
import type { Select } from "../components/calcite-select/customElement.js";
import type { Sheet } from "../components/calcite-sheet/customElement.js";
import type { Shell } from "../components/calcite-shell/customElement.js";
import type { ShellPanel } from "../components/calcite-shell-panel/customElement.js";
import type { Slider } from "../components/calcite-slider/customElement.js";
import type { SortHandle } from "../components/calcite-sort-handle/customElement.js";
import type { SortableList } from "../components/calcite-sortable-list/customElement.js";
import type { SplitButton } from "../components/calcite-split-button/customElement.js";
import type { Stack } from "../components/calcite-stack/customElement.js";
import type { Stepper } from "../components/calcite-stepper/customElement.js";
import type { StepperItem } from "../components/calcite-stepper-item/customElement.js";
import type { Swatch } from "../components/calcite-swatch/customElement.js";
import type { SwatchGroup } from "../components/calcite-swatch-group/customElement.js";
import type { Switch } from "../components/calcite-switch/customElement.js";
import type { Tab } from "../components/calcite-tab/customElement.js";
import type { TabNav } from "../components/calcite-tab-nav/customElement.js";
import type { TabTitle } from "../components/calcite-tab-title/customElement.js";
import type { Table } from "../components/calcite-table/customElement.js";
import type { TableCell } from "../components/calcite-table-cell/customElement.js";
import type { TableHeader } from "../components/calcite-table-header/customElement.js";
import type { TableRow } from "../components/calcite-table-row/customElement.js";
import type { Tabs } from "../components/calcite-tabs/customElement.js";
import type { TextArea } from "../components/calcite-text-area/customElement.js";
import type { Tile } from "../components/calcite-tile/customElement.js";
import type { TileGroup } from "../components/calcite-tile-group/customElement.js";
import type { TimePicker } from "../components/calcite-time-picker/customElement.js";
import type { Tooltip } from "../components/calcite-tooltip/customElement.js";
import type { Tree } from "../components/calcite-tree/customElement.js";
import type { TreeItem } from "../components/calcite-tree-item/customElement.js";
import { JSXBase as StencilJsx } from "@stencil/core/internal";
import type { EventHandler } from "@arcgis/lumina";

interface StencilCalciteAccordion extends Partial<Pick<Accordion, "appearance" | "iconPosition" | "iconType" | "scale" | "selectionMode">>, StencilJsx.HTMLAttributes<Accordion> {
}

interface StencilCalciteAccordionItem extends Partial<Pick<AccordionItem, "description" | "expanded" | "heading" | "headingLevel" | "iconEnd" | "iconFlipRtl" | "iconStart" | "messageOverrides">>, StencilJsx.HTMLAttributes<AccordionItem> {
  onCalciteAccordionItemCollapse?: EventHandler<AccordionItem["calciteAccordionItemCollapse"]>;
  onCalciteAccordionItemExpand?: EventHandler<AccordionItem["calciteAccordionItemExpand"]>;
}

interface StencilCalciteAction extends Required<Pick<Action, "text">>, Partial<Pick<Action, "active" | "alignment" | "appearance" | "aria" | "compact" | "disabled" | "form" | "icon" | "iconFlipRtl" | "indicator" | "label" | "loading" | "messageOverrides" | "overflowDisabled" | "scale" | "textEnabled" | "type">>, StencilJsx.HTMLAttributes<Action> {
}

interface StencilCalciteActionBar extends Partial<Pick<ActionBar, "actionsEndGroupLabel" | "actionsStartGroupLabel" | "expandDisabled" | "expanded" | "expandPosition" | "floating" | "layout" | "messageOverrides" | "overflowActionsDisabled" | "overlayPositioning" | "position" | "scale" | "selectionAppearance">>, StencilJsx.HTMLAttributes<ActionBar> {
  onCalciteActionBarCollapse?: EventHandler<ActionBar["calciteActionBarCollapse"]>;
  onCalciteActionBarExpand?: EventHandler<ActionBar["calciteActionBarExpand"]>;
  onCalciteActionBarToggle?: EventHandler<ActionBar["calciteActionBarToggle"]>;
}

interface StencilCalciteActionGroup extends Partial<Pick<ActionGroup, "columns" | "expanded" | "label" | "layout" | "menuFlipPlacements" | "menuOpen" | "menuPlacement" | "messageOverrides" | "overflowActionsDisabled" | "overlayPositioning" | "scale" | "selectionMode" | "topLayerDisabled">>, StencilJsx.HTMLAttributes<ActionGroup> {
  onCalciteActionGroupChange?: EventHandler<ActionGroup["calciteActionGroupChange"]>;
  onCalciteActionGroupCollapse?: EventHandler<ActionGroup["calciteActionGroupCollapse"]>;
  onCalciteActionGroupExpand?: EventHandler<ActionGroup["calciteActionGroupExpand"]>;
}

interface StencilCalciteActionMenu extends Required<Pick<ActionMenu, "label">>, Partial<Pick<ActionMenu, "appearance" | "expanded" | "flipPlacements" | "open" | "overlayPositioning" | "placement" | "scale" | "topLayerDisabled">>, StencilJsx.HTMLAttributes<ActionMenu> {
  onCalciteActionMenuCollapse?: EventHandler<ActionMenu["calciteActionMenuCollapse"]>;
  onCalciteActionMenuExpand?: EventHandler<ActionMenu["calciteActionMenuExpand"]>;
  onCalciteActionMenuOpen?: EventHandler<ActionMenu["calciteActionMenuOpen"]>;
}

interface StencilCalciteActionPad extends Partial<Pick<ActionPad, "actionsEndGroupLabel" | "expandDisabled" | "expanded" | "layout" | "messageOverrides" | "overlayPositioning" | "position" | "scale" | "selectionAppearance">>, StencilJsx.HTMLAttributes<ActionPad> {
  onCalciteActionPadCollapse?: EventHandler<ActionPad["calciteActionPadCollapse"]>;
  onCalciteActionPadExpand?: EventHandler<ActionPad["calciteActionPadExpand"]>;
  onCalciteActionPadToggle?: EventHandler<ActionPad["calciteActionPadToggle"]>;
}

interface StencilCalciteAlert extends Required<Pick<Alert, "label">>, Partial<Pick<Alert, "autoClose" | "autoCloseDuration" | "icon" | "iconFlipRtl" | "kind" | "messageOverrides" | "numberingSystem" | "open" | "placement" | "queue" | "scale" | "topLayerDisabled">>, StencilJsx.HTMLAttributes<Alert> {
  onCalciteAlertBeforeClose?: EventHandler<Alert["calciteAlertBeforeClose"]>;
  onCalciteAlertBeforeOpen?: EventHandler<Alert["calciteAlertBeforeOpen"]>;
  onCalciteAlertClose?: EventHandler<Alert["calciteAlertClose"]>;
  onCalciteAlertOpen?: EventHandler<Alert["calciteAlertOpen"]>;
}

interface StencilCalciteAutocomplete extends Partial<Pick<Autocomplete, "alignment" | "autocomplete" | "disabled" | "flipPlacements" | "form" | "icon" | "iconFlipRtl" | "inputValue" | "label" | "labelText" | "loading" | "maxLength" | "messageOverrides" | "minLength" | "name" | "open" | "overlayPositioning" | "pattern" | "placeholder" | "placement" | "prefixText" | "readOnly" | "required" | "scale" | "status" | "suffixText" | "topLayerDisabled" | "validationIcon" | "validationMessage" | "value">>, StencilJsx.HTMLAttributes<Autocomplete> {
  onCalciteAutocompleteBeforeClose?: EventHandler<Autocomplete["calciteAutocompleteBeforeClose"]>;
  onCalciteAutocompleteBeforeOpen?: EventHandler<Autocomplete["calciteAutocompleteBeforeOpen"]>;
  onCalciteAutocompleteChange?: EventHandler<Autocomplete["calciteAutocompleteChange"]>;
  onCalciteAutocompleteClose?: EventHandler<Autocomplete["calciteAutocompleteClose"]>;
  onCalciteAutocompleteOpen?: EventHandler<Autocomplete["calciteAutocompleteOpen"]>;
  onCalciteAutocompleteTextChange?: EventHandler<Autocomplete["calciteAutocompleteTextChange"]>;
  onCalciteAutocompleteTextInput?: EventHandler<Autocomplete["calciteAutocompleteTextInput"]>;
}

interface StencilCalciteAutocompleteItem extends Required<Pick<AutocompleteItem, "heading">>, Partial<Pick<AutocompleteItem, "description" | "disabled" | "iconEnd" | "iconFlipRtl" | "iconStart" | "label" | "selected" | "value">>, StencilJsx.HTMLAttributes<AutocompleteItem> {
  onCalciteAutocompleteItemSelect?: EventHandler<AutocompleteItem["calciteAutocompleteItemSelect"]>;
}

interface StencilCalciteAutocompleteItemGroup extends Required<Pick<AutocompleteItemGroup, "heading">>, Partial<Pick<AutocompleteItemGroup, "label" | "position">>, StencilJsx.HTMLAttributes<AutocompleteItemGroup> {
}

interface StencilCalciteAvatar extends Partial<Pick<Avatar, "fullName" | "label" | "scale" | "thumbnail" | "userId" | "username">>, StencilJsx.HTMLAttributes<Avatar> {
}

interface StencilCalciteBlock extends Partial<Pick<Block, "collapsible" | "description" | "disabled" | "dragDisabled" | "dragHandle" | "expanded" | "heading" | "headingLevel" | "iconEnd" | "iconFlipRtl" | "iconStart" | "label" | "loading" | "menuFlipPlacements" | "menuPlacement" | "messageOverrides" | "open" | "overlayPositioning" | "scale" | "sortHandleOpen" | "status" | "topLayerDisabled">>, StencilJsx.HTMLAttributes<Block> {
  onCalciteBlockBeforeClose?: EventHandler<Block["calciteBlockBeforeClose"]>;
  onCalciteBlockBeforeOpen?: EventHandler<Block["calciteBlockBeforeOpen"]>;
  onCalciteBlockClose?: EventHandler<Block["calciteBlockClose"]>;
  onCalciteBlockCollapse?: EventHandler<Block["calciteBlockCollapse"]>;
  onCalciteBlockExpand?: EventHandler<Block["calciteBlockExpand"]>;
  onCalciteBlockOpen?: EventHandler<Block["calciteBlockOpen"]>;
  onCalciteBlockSortHandleBeforeClose?: EventHandler<Block["calciteBlockSortHandleBeforeClose"]>;
  onCalciteBlockSortHandleBeforeOpen?: EventHandler<Block["calciteBlockSortHandleBeforeOpen"]>;
  onCalciteBlockSortHandleClose?: EventHandler<Block["calciteBlockSortHandleClose"]>;
  onCalciteBlockSortHandleOpen?: EventHandler<Block["calciteBlockSortHandleOpen"]>;
  onCalciteBlockToggle?: EventHandler<Block["calciteBlockToggle"]>;
}

interface StencilCalciteBlockGroup extends Required<Pick<BlockGroup, "label">>, Partial<Pick<BlockGroup, "canPull" | "canPut" | "disabled" | "dragEnabled" | "group" | "loading" | "scale" | "sortDisabled">>, StencilJsx.HTMLAttributes<BlockGroup> {
  onCalciteBlockGroupDragEnd?: EventHandler<BlockGroup["calciteBlockGroupDragEnd"]>;
  onCalciteBlockGroupDragStart?: EventHandler<BlockGroup["calciteBlockGroupDragStart"]>;
  onCalciteBlockGroupMoveHalt?: EventHandler<BlockGroup["calciteBlockGroupMoveHalt"]>;
  onCalciteBlockGroupOrderChange?: EventHandler<BlockGroup["calciteBlockGroupOrderChange"]>;
}

interface StencilCalciteBlockSection extends Partial<Pick<BlockSection, "expanded" | "iconEnd" | "iconFlipRtl" | "iconStart" | "messageOverrides" | "open" | "scale" | "status" | "text" | "toggleDisplay">>, StencilJsx.HTMLAttributes<BlockSection> {
  onCalciteBlockSectionCollapse?: EventHandler<BlockSection["calciteBlockSectionCollapse"]>;
  onCalciteBlockSectionExpand?: EventHandler<BlockSection["calciteBlockSectionExpand"]>;
  onCalciteBlockSectionToggle?: EventHandler<BlockSection["calciteBlockSectionToggle"]>;
}

interface StencilCalciteButton extends Partial<Pick<Button, "alignment" | "appearance" | "disabled" | "download" | "form" | "href" | "iconEnd" | "iconFlipRtl" | "iconStart" | "kind" | "label" | "loading" | "messageOverrides" | "name" | "rel" | "round" | "scale" | "splitChild" | "target" | "type" | "width">>, StencilJsx.HTMLAttributes<Button> {
}

interface StencilCalciteCard extends Partial<Pick<Card, "disabled" | "label" | "loading" | "messageOverrides" | "scale" | "selectable" | "selected" | "thumbnailPosition">>, StencilJsx.HTMLAttributes<Card> {
  onCalciteCardSelect?: EventHandler<Card["calciteCardSelect"]>;
}

interface StencilCalciteCardGroup extends Required<Pick<CardGroup, "label">>, Partial<Pick<CardGroup, "disabled" | "scale" | "selectionMode">>, StencilJsx.HTMLAttributes<CardGroup> {
  onCalciteCardGroupSelect?: EventHandler<CardGroup["calciteCardGroupSelect"]>;
}

interface StencilCalciteCarousel extends Required<Pick<Carousel, "label">>, Partial<Pick<Carousel, "arrowType" | "autoplay" | "autoplayDuration" | "controlOverlay" | "disabled" | "messageOverrides" | "paginationDisabled" | "paginationPosition">>, StencilJsx.HTMLAttributes<Carousel> {
  onCalciteCarouselChange?: EventHandler<Carousel["calciteCarouselChange"]>;
  onCalciteCarouselPause?: EventHandler<Carousel["calciteCarouselPause"]>;
  onCalciteCarouselPlay?: EventHandler<Carousel["calciteCarouselPlay"]>;
  onCalciteCarouselResume?: EventHandler<Carousel["calciteCarouselResume"]>;
  onCalciteCarouselStop?: EventHandler<Carousel["calciteCarouselStop"]>;
}

interface StencilCalciteCarouselItem extends Required<Pick<CarouselItem, "label">>, Partial<Pick<CarouselItem, "selected">>, StencilJsx.HTMLAttributes<CarouselItem> {
}

interface StencilCalciteCheckbox extends Partial<Pick<Checkbox, "checked" | "disabled" | "form" | "indeterminate" | "label" | "labelText" | "messageOverrides" | "name" | "required" | "scale" | "status" | "value">>, StencilJsx.HTMLAttributes<Checkbox> {
  onCalciteCheckboxChange?: EventHandler<Checkbox["calciteCheckboxChange"]>;
}

interface StencilCalciteChip extends Required<Pick<Chip, "label">>, Partial<Pick<Chip, "appearance" | "closable" | "closed" | "closeOnDelete" | "disabled" | "icon" | "iconFlipRtl" | "kind" | "messageOverrides" | "scale" | "selected" | "value">>, StencilJsx.HTMLAttributes<Chip> {
  onCalciteChipClose?: EventHandler<Chip["calciteChipClose"]>;
  onCalciteChipSelect?: EventHandler<Chip["calciteChipSelect"]>;
}

interface StencilCalciteChipGroup extends Required<Pick<ChipGroup, "label">>, Partial<Pick<ChipGroup, "disabled" | "scale" | "selectionMode">>, StencilJsx.HTMLAttributes<ChipGroup> {
  onCalciteChipGroupSelect?: EventHandler<ChipGroup["calciteChipGroupSelect"]>;
}

interface StencilCalciteColorPicker extends Partial<Pick<ColorPicker, "alphaChannel" | "channelsDisabled" | "clearable" | "disabled" | "fieldDisabled" | "format" | "hexDisabled" | "messageOverrides" | "numberingSystem" | "savedDisabled" | "scale" | "storageId" | "value">>, StencilJsx.HTMLAttributes<ColorPicker> {
  onCalciteColorPickerChange?: EventHandler<ColorPicker["calciteColorPickerChange"]>;
  onCalciteColorPickerInput?: EventHandler<ColorPicker["calciteColorPickerInput"]>;
}

interface StencilCalciteColorPickerHexInput extends Partial<Pick<ColorPickerHexInput, "allowEmpty" | "alphaChannel" | "hexLabel" | "numberingSystem" | "scale" | "value">>, StencilJsx.HTMLAttributes<ColorPickerHexInput> {
  onCalciteColorPickerHexInputChange?: EventHandler<ColorPickerHexInput["calciteColorPickerHexInputChange"]>;
}

interface StencilCalciteColorPickerSwatch extends Partial<Pick<ColorPickerSwatch, "active" | "color" | "scale">>, StencilJsx.HTMLAttributes<ColorPickerSwatch> {
}

interface StencilCalciteCombobox extends Required<Pick<Combobox, "label">>, Partial<Pick<Combobox, "allowCustomValues" | "clearDisabled" | "disabled" | "filterProps" | "filterText" | "flipPlacements" | "form" | "labelText" | "maxItems" | "messageOverrides" | "name" | "open" | "overlayPositioning" | "placeholder" | "placeholderIcon" | "placeholderIconFlipRtl" | "placement" | "readOnly" | "required" | "scale" | "selectAllEnabled" | "selectionAppearance" | "selectionDisplay" | "selectionMode" | "status" | "topLayerDisabled" | "validationIcon" | "validationMessage" | "value">>, StencilJsx.HTMLAttributes<Combobox> {
  onCalciteComboboxBeforeClose?: EventHandler<Combobox["calciteComboboxBeforeClose"]>;
  onCalciteComboboxBeforeOpen?: EventHandler<Combobox["calciteComboboxBeforeOpen"]>;
  onCalciteComboboxChange?: EventHandler<Combobox["calciteComboboxChange"]>;
  onCalciteComboboxChipClose?: EventHandler<Combobox["calciteComboboxChipClose"]>;
  onCalciteComboboxClose?: EventHandler<Combobox["calciteComboboxClose"]>;
  onCalciteComboboxFilterChange?: EventHandler<Combobox["calciteComboboxFilterChange"]>;
  onCalciteComboboxOpen?: EventHandler<Combobox["calciteComboboxOpen"]>;
}

interface StencilCalciteComboboxItem extends Required<Pick<ComboboxItem, "heading">>, Partial<Pick<ComboboxItem, "active" | "ancestors" | "description" | "disabled" | "filterDisabled" | "guid" | "icon" | "iconFlipRtl" | "label" | "metadata" | "selected" | "shortHeading" | "value">>, StencilJsx.HTMLAttributes<ComboboxItem> {
  onCalciteComboboxItemChange?: EventHandler<ComboboxItem["calciteComboboxItemChange"]>;
}

interface StencilCalciteComboboxItemGroup extends Required<Pick<ComboboxItemGroup, "label">>, Partial<Pick<ComboboxItemGroup, "ancestors" | "position">>, StencilJsx.HTMLAttributes<ComboboxItemGroup> {
}

interface StencilCalciteDatePicker extends Partial<Pick<DatePicker, "activeDate" | "activeRange" | "calendars" | "headingLevel" | "layout" | "max" | "maxAsDate" | "messageOverrides" | "min" | "minAsDate" | "monthStyle" | "numberingSystem" | "proximitySelectionDisabled" | "range" | "scale" | "value" | "valueAsDate">>, StencilJsx.HTMLAttributes<DatePicker> {
  onCalciteDatePickerChange?: EventHandler<DatePicker["calciteDatePickerChange"]>;
  onCalciteDatePickerRangeChange?: EventHandler<DatePicker["calciteDatePickerRangeChange"]>;
}

interface StencilCalciteDatePickerDay extends Required<Pick<DatePickerDay, "day">>, Partial<Pick<DatePickerDay, "active" | "currentMonth" | "disabled" | "endOfRange" | "highlighted" | "range" | "rangeHover" | "scale" | "selected" | "startOfRange" | "value">>, StencilJsx.HTMLAttributes<DatePickerDay> {
}

interface StencilCalciteDatePickerMonth extends Partial<Pick<DatePickerMonth, "activeDate" | "calendars" | "endDate" | "headingLevel" | "hoverRange" | "max" | "min" | "monthStyle" | "range" | "scale" | "selectedDate" | "startDate">>, StencilJsx.HTMLAttributes<DatePickerMonth> {
}

interface StencilCalciteDialog extends Partial<Pick<Dialog, "beforeClose" | "closeDisabled" | "description" | "dragEnabled" | "escapeDisabled" | "focusTrapDisabled" | "focusTrapOptions" | "fullscreenDisabled" | "heading" | "headingLevel" | "icon" | "iconFlipRtl" | "kind" | "loading" | "menuOpen" | "messageOverrides" | "modal" | "open" | "outsideCloseDisabled" | "overlayPositioning" | "placement" | "resizable" | "scale" | "topLayerDisabled" | "width" | "widthScale">>, StencilJsx.HTMLAttributes<Dialog> {
  onCalciteDialogBeforeClose?: EventHandler<Dialog["calciteDialogBeforeClose"]>;
  onCalciteDialogBeforeOpen?: EventHandler<Dialog["calciteDialogBeforeOpen"]>;
  onCalciteDialogClose?: EventHandler<Dialog["calciteDialogClose"]>;
  onCalciteDialogOpen?: EventHandler<Dialog["calciteDialogOpen"]>;
  onCalciteDialogScroll?: EventHandler<Dialog["calciteDialogScroll"]>;
}

interface StencilCalciteDropdown extends Partial<Pick<Dropdown, "closeOnSelectDisabled" | "disabled" | "flipPlacements" | "maxItems" | "offsetDistance" | "offsetSkidding" | "open" | "overlayPositioning" | "placement" | "referenceElement" | "scale" | "topLayerDisabled" | "type" | "width" | "widthScale">>, StencilJsx.HTMLAttributes<Dropdown> {
  onCalciteDropdownBeforeClose?: EventHandler<Dropdown["calciteDropdownBeforeClose"]>;
  onCalciteDropdownBeforeOpen?: EventHandler<Dropdown["calciteDropdownBeforeOpen"]>;
  onCalciteDropdownClose?: EventHandler<Dropdown["calciteDropdownClose"]>;
  onCalciteDropdownOpen?: EventHandler<Dropdown["calciteDropdownOpen"]>;
  onCalciteDropdownSelect?: EventHandler<Dropdown["calciteDropdownSelect"]>;
}

interface StencilCalciteDropdownGroup extends Partial<Pick<DropdownGroup, "groupTitle" | "position" | "selectionMode">>, StencilJsx.HTMLAttributes<DropdownGroup> {
}

interface StencilCalciteDropdownItem extends Partial<Pick<DropdownItem, "disabled" | "href" | "iconEnd" | "iconFlipRtl" | "iconStart" | "label" | "rel" | "selected" | "target">>, StencilJsx.HTMLAttributes<DropdownItem> {
  onCalciteDropdownItemSelect?: EventHandler<DropdownItem["calciteDropdownItemSelect"]>;
}

interface StencilCalciteFab extends Partial<Pick<Fab, "appearance" | "disabled" | "icon" | "iconFlipRtl" | "kind" | "label" | "loading" | "scale" | "text" | "textEnabled">>, StencilJsx.HTMLAttributes<Fab> {
}

interface StencilCalciteFilter extends Partial<Pick<Filter, "disabled" | "filterProps" | "items" | "label" | "messageOverrides" | "placeholder" | "scale" | "value">>, StencilJsx.HTMLAttributes<Filter> {
  onCalciteFilterChange?: EventHandler<Filter["calciteFilterChange"]>;
}

interface StencilCalciteFlow extends StencilJsx.HTMLAttributes<Flow> {
}

interface StencilCalciteFlowItem extends Partial<Pick<FlowItem, "beforeBack" | "beforeClose" | "closable" | "closed" | "collapsed" | "collapseDirection" | "collapsible" | "description" | "disabled" | "heading" | "headingLevel" | "icon" | "iconFlipRtl" | "loading" | "menuOpen" | "messageOverrides" | "overlayPositioning" | "scale" | "selected" | "showBackButton" | "topLayerDisabled">>, StencilJsx.HTMLAttributes<FlowItem> {
  onCalciteFlowItemBack?: EventHandler<FlowItem["calciteFlowItemBack"]>;
  onCalciteFlowItemClose?: EventHandler<FlowItem["calciteFlowItemClose"]>;
  onCalciteFlowItemCollapse?: EventHandler<FlowItem["calciteFlowItemCollapse"]>;
  onCalciteFlowItemExpand?: EventHandler<FlowItem["calciteFlowItemExpand"]>;
  onCalciteFlowItemScroll?: EventHandler<FlowItem["calciteFlowItemScroll"]>;
  onCalciteFlowItemToggle?: EventHandler<FlowItem["calciteFlowItemToggle"]>;
}

interface StencilCalciteFocusTrap extends Partial<Pick<FocusTrap, "focusTrapDisabled" | "focusTrapDisabledOverride" | "focusTrapOptions">>, StencilJsx.HTMLAttributes<FocusTrap> {
  onCalciteFocusTrapActiveChange?: EventHandler<FocusTrap["calciteFocusTrapActiveChange"]>;
}

interface StencilCalciteGraph extends Required<Pick<Graph, "max" | "min">>, Partial<Pick<Graph, "colorStops" | "data" | "highlightMax" | "highlightMin">>, StencilJsx.HTMLAttributes<Graph> {
}

interface StencilCalciteHandle extends Partial<Pick<Handle, "disabled" | "dragHandle" | "messageOverrides" | "selected">>, StencilJsx.HTMLAttributes<Handle> {
  onCalciteHandleChange?: EventHandler<Handle["calciteHandleChange"]>;
  onCalciteHandleNudge?: EventHandler<Handle["calciteHandleNudge"]>;
}

interface StencilCalciteIcon extends Partial<Pick<Icon, "flipRtl" | "icon" | "preload" | "scale" | "textLabel">>, StencilJsx.HTMLAttributes<Icon> {
}

interface StencilCalciteInlineEditable extends Partial<Pick<InlineEditable, "afterConfirm" | "controls" | "disabled" | "editingEnabled" | "loading" | "messageOverrides" | "scale">>, StencilJsx.HTMLAttributes<InlineEditable> {
  onCalciteInlineEditableEditCancel?: EventHandler<InlineEditable["calciteInlineEditableEditCancel"]>;
  onCalciteInlineEditableEditConfirm?: EventHandler<InlineEditable["calciteInlineEditableEditConfirm"]>;
}

interface StencilCalciteInput extends Partial<Pick<Input, "accept" | "alignment" | "autocomplete" | "clearable" | "disabled" | "files" | "form" | "groupSeparator" | "icon" | "iconFlipRtl" | "label" | "labelText" | "loading" | "max" | "maxLength" | "messageOverrides" | "min" | "minLength" | "multiple" | "name" | "numberButtonType" | "numberingSystem" | "pattern" | "placeholder" | "prefixText" | "readOnly" | "required" | "scale" | "status" | "step" | "suffixText" | "type" | "validationIcon" | "validationMessage" | "value">>, StencilJsx.HTMLAttributes<Input> {
  onCalciteInputChange?: EventHandler<Input["calciteInputChange"]>;
  onCalciteInputInput?: EventHandler<Input["calciteInputInput"]>;
}

interface StencilCalciteInputDatePicker extends Partial<Pick<InputDatePicker, "calendars" | "disabled" | "flipPlacements" | "focusTrapDisabled" | "form" | "headingLevel" | "label" | "labelText" | "layout" | "max" | "maxAsDate" | "messageOverrides" | "min" | "minAsDate" | "monthStyle" | "name" | "numberingSystem" | "open" | "overlayPositioning" | "placement" | "proximitySelectionDisabled" | "range" | "readOnly" | "required" | "scale" | "status" | "topLayerDisabled" | "validationIcon" | "validationMessage" | "value" | "valueAsDate">>, StencilJsx.HTMLAttributes<InputDatePicker> {
  onCalciteInputDatePickerBeforeClose?: EventHandler<InputDatePicker["calciteInputDatePickerBeforeClose"]>;
  onCalciteInputDatePickerBeforeOpen?: EventHandler<InputDatePicker["calciteInputDatePickerBeforeOpen"]>;
  onCalciteInputDatePickerChange?: EventHandler<InputDatePicker["calciteInputDatePickerChange"]>;
  onCalciteInputDatePickerClose?: EventHandler<InputDatePicker["calciteInputDatePickerClose"]>;
  onCalciteInputDatePickerOpen?: EventHandler<InputDatePicker["calciteInputDatePickerOpen"]>;
}

interface StencilCalciteInputMessage extends Partial<Pick<InputMessage, "icon" | "iconFlipRtl" | "scale" | "status">>, StencilJsx.HTMLAttributes<InputMessage> {
}

interface StencilCalciteInputNumber extends Partial<Pick<InputNumber, "alignment" | "autocomplete" | "clearable" | "disabled" | "form" | "groupSeparator" | "icon" | "iconFlipRtl" | "integer" | "label" | "labelText" | "loading" | "max" | "maxLength" | "messageOverrides" | "min" | "minLength" | "name" | "numberButtonType" | "numberingSystem" | "placeholder" | "prefixText" | "readOnly" | "required" | "scale" | "status" | "step" | "suffixText" | "validationIcon" | "validationMessage" | "value">>, StencilJsx.HTMLAttributes<InputNumber> {
  onCalciteInputNumberChange?: EventHandler<InputNumber["calciteInputNumberChange"]>;
  onCalciteInputNumberInput?: EventHandler<InputNumber["calciteInputNumberInput"]>;
}

interface StencilCalciteInputText extends Partial<Pick<InputText, "alignment" | "autocomplete" | "clearable" | "disabled" | "form" | "icon" | "iconFlipRtl" | "label" | "labelText" | "loading" | "maxLength" | "messageOverrides" | "minLength" | "name" | "pattern" | "placeholder" | "prefixText" | "readOnly" | "required" | "scale" | "status" | "suffixText" | "validationIcon" | "validationMessage" | "value">>, StencilJsx.HTMLAttributes<InputText> {
  onCalciteInputTextChange?: EventHandler<InputText["calciteInputTextChange"]>;
  onCalciteInputTextInput?: EventHandler<InputText["calciteInputTextInput"]>;
}

interface StencilCalciteInputTimePicker extends Partial<Pick<InputTimePicker, "disabled" | "focusTrapDisabled" | "form" | "hourFormat" | "label" | "labelText" | "max" | "messageOverrides" | "min" | "name" | "numberingSystem" | "open" | "overlayPositioning" | "placement" | "readOnly" | "required" | "scale" | "status" | "step" | "validationIcon" | "validationMessage" | "value">>, StencilJsx.HTMLAttributes<InputTimePicker> {
  onCalciteInputTimePickerBeforeClose?: EventHandler<InputTimePicker["calciteInputTimePickerBeforeClose"]>;
  onCalciteInputTimePickerBeforeOpen?: EventHandler<InputTimePicker["calciteInputTimePickerBeforeOpen"]>;
  onCalciteInputTimePickerChange?: EventHandler<InputTimePicker["calciteInputTimePickerChange"]>;
  onCalciteInputTimePickerClose?: EventHandler<InputTimePicker["calciteInputTimePickerClose"]>;
  onCalciteInputTimePickerOpen?: EventHandler<InputTimePicker["calciteInputTimePickerOpen"]>;
}

interface StencilCalciteInputTimeZone extends Partial<Pick<InputTimeZone, "clearable" | "disabled" | "form" | "labelText" | "maxItems" | "messageOverrides" | "mode" | "name" | "offsetStyle" | "open" | "overlayPositioning" | "readOnly" | "referenceDate" | "scale" | "status" | "topLayerDisabled" | "validationIcon" | "validationMessage" | "value">>, StencilJsx.HTMLAttributes<InputTimeZone> {
  onCalciteInputTimeZoneBeforeClose?: EventHandler<InputTimeZone["calciteInputTimeZoneBeforeClose"]>;
  onCalciteInputTimeZoneBeforeOpen?: EventHandler<InputTimeZone["calciteInputTimeZoneBeforeOpen"]>;
  onCalciteInputTimeZoneChange?: EventHandler<InputTimeZone["calciteInputTimeZoneChange"]>;
  onCalciteInputTimeZoneClose?: EventHandler<InputTimeZone["calciteInputTimeZoneClose"]>;
  onCalciteInputTimeZoneOpen?: EventHandler<InputTimeZone["calciteInputTimeZoneOpen"]>;
}

interface StencilCalciteLabel extends Partial<Pick<Label, "alignment" | "for" | "layout" | "scale">>, StencilJsx.HTMLAttributes<Label> {
}

interface StencilCalciteLink extends Partial<Pick<Link, "disabled" | "download" | "href" | "iconEnd" | "iconFlipRtl" | "iconStart" | "rel" | "target">>, StencilJsx.HTMLAttributes<Link> {
}

interface StencilCalciteList extends Required<Pick<List, "label">>, Partial<Pick<List, "canPull" | "canPut" | "disabled" | "displayMode" | "dragEnabled" | "filterEnabled" | "filterLabel" | "filterPlaceholder" | "filterPredicate" | "filterProps" | "filterText" | "group" | "interactionMode" | "loading" | "messageOverrides" | "numberingSystem" | "scale" | "selectionAppearance" | "selectionMode" | "sortDisabled">>, StencilJsx.HTMLAttributes<List> {
  onCalciteListChange?: EventHandler<List["calciteListChange"]>;
  onCalciteListDragEnd?: EventHandler<List["calciteListDragEnd"]>;
  onCalciteListDragStart?: EventHandler<List["calciteListDragStart"]>;
  onCalciteListFilter?: EventHandler<List["calciteListFilter"]>;
  onCalciteListMoveHalt?: EventHandler<List["calciteListMoveHalt"]>;
  onCalciteListOrderChange?: EventHandler<List["calciteListOrderChange"]>;
}

interface StencilCalciteListItem extends Partial<Pick<ListItem, "closable" | "closed" | "description" | "disabled" | "dragDisabled" | "expanded" | "iconEnd" | "iconFlipRtl" | "iconStart" | "label" | "messageOverrides" | "metadata" | "open" | "scale" | "selected" | "sortHandleOpen" | "topLayerDisabled" | "unavailable" | "value">>, StencilJsx.HTMLAttributes<ListItem> {
  onCalciteListItemClose?: EventHandler<ListItem["calciteListItemClose"]>;
  onCalciteListItemCollapse?: EventHandler<ListItem["calciteListItemCollapse"]>;
  onCalciteListItemExpand?: EventHandler<ListItem["calciteListItemExpand"]>;
  onCalciteListItemSelect?: EventHandler<ListItem["calciteListItemSelect"]>;
  onCalciteListItemSortHandleBeforeClose?: EventHandler<ListItem["calciteListItemSortHandleBeforeClose"]>;
  onCalciteListItemSortHandleBeforeOpen?: EventHandler<ListItem["calciteListItemSortHandleBeforeOpen"]>;
  onCalciteListItemSortHandleClose?: EventHandler<ListItem["calciteListItemSortHandleClose"]>;
  onCalciteListItemSortHandleOpen?: EventHandler<ListItem["calciteListItemSortHandleOpen"]>;
  onCalciteListItemToggle?: EventHandler<ListItem["calciteListItemToggle"]>;
}

interface StencilCalciteListItemGroup extends Partial<Pick<ListItemGroup, "disabled" | "heading" | "scale">>, StencilJsx.HTMLAttributes<ListItemGroup> {
}

interface StencilCalciteLoader extends Required<Pick<Loader, "label">>, Partial<Pick<Loader, "inline" | "scale" | "text" | "type" | "value">>, StencilJsx.HTMLAttributes<Loader> {
}

interface StencilCalciteMenu extends Required<Pick<Menu, "label">>, Partial<Pick<Menu, "layout" | "messageOverrides">>, StencilJsx.HTMLAttributes<Menu> {
}

interface StencilCalciteMenuItem extends Required<Pick<MenuItem, "label">>, Partial<Pick<MenuItem, "active" | "breadcrumb" | "href" | "iconEnd" | "iconFlipRtl" | "iconStart" | "messageOverrides" | "open" | "rel" | "target" | "text">>, StencilJsx.HTMLAttributes<MenuItem> {
  onCalciteMenuItemSelect?: EventHandler<MenuItem["calciteMenuItemSelect"]>;
}

interface StencilCalciteMeter extends Required<Pick<Meter, "label">>, Partial<Pick<Meter, "appearance" | "disabled" | "fillType" | "form" | "groupSeparator" | "high" | "low" | "max" | "min" | "name" | "numberingSystem" | "rangeLabels" | "rangeLabelType" | "scale" | "unitLabel" | "value" | "valueLabel" | "valueLabelType">>, StencilJsx.HTMLAttributes<Meter> {
}

interface StencilCalciteNavigation extends Partial<Pick<Navigation, "label" | "navigationAction" | "scale">>, StencilJsx.HTMLAttributes<Navigation> {
  onCalciteNavigationActionSelect?: EventHandler<Navigation["calciteNavigationActionSelect"]>;
}

interface StencilCalciteNavigationLogo extends Partial<Pick<NavigationLogo, "active" | "description" | "heading" | "headingLevel" | "href" | "icon" | "iconFlipRtl" | "label" | "rel" | "target" | "thumbnail">>, StencilJsx.HTMLAttributes<NavigationLogo> {
}

interface StencilCalciteNavigationUser extends Partial<Pick<NavigationUser, "active" | "fullName" | "label" | "textDisabled" | "thumbnail" | "userId" | "username">>, StencilJsx.HTMLAttributes<NavigationUser> {
}

interface StencilCalciteNotice extends Partial<Pick<Notice, "appearance" | "closable" | "icon" | "iconFlipRtl" | "kind" | "messageOverrides" | "open" | "scale" | "width">>, StencilJsx.HTMLAttributes<Notice> {
  onCalciteNoticeBeforeClose?: EventHandler<Notice["calciteNoticeBeforeClose"]>;
  onCalciteNoticeBeforeOpen?: EventHandler<Notice["calciteNoticeBeforeOpen"]>;
  onCalciteNoticeClose?: EventHandler<Notice["calciteNoticeClose"]>;
  onCalciteNoticeOpen?: EventHandler<Notice["calciteNoticeOpen"]>;
}

interface StencilCalciteOption extends Partial<Pick<Option, "disabled" | "label" | "selected" | "value">>, StencilJsx.HTMLAttributes<Option> {
}

interface StencilCalciteOptionGroup extends Required<Pick<OptionGroup, "label">>, Partial<Pick<OptionGroup, "disabled">>, StencilJsx.HTMLAttributes<OptionGroup> {
}

interface StencilCalcitePagination extends Partial<Pick<Pagination, "groupSeparator" | "messageOverrides" | "numberingSystem" | "pageSize" | "scale" | "startItem" | "totalItems">>, StencilJsx.HTMLAttributes<Pagination> {
  onCalcitePaginationChange?: EventHandler<Pagination["calcitePaginationChange"]>;
}

interface StencilCalcitePanel extends Partial<Pick<Panel, "beforeClose" | "closable" | "closed" | "collapsed" | "collapseDirection" | "collapsible" | "description" | "disabled" | "heading" | "headingLevel" | "icon" | "iconFlipRtl" | "loading" | "menuFlipPlacements" | "menuOpen" | "menuPlacement" | "messageOverrides" | "overlayPositioning" | "scale" | "topLayerDisabled">>, StencilJsx.HTMLAttributes<Panel> {
  onCalcitePanelClose?: EventHandler<Panel["calcitePanelClose"]>;
  onCalcitePanelCollapse?: EventHandler<Panel["calcitePanelCollapse"]>;
  onCalcitePanelExpand?: EventHandler<Panel["calcitePanelExpand"]>;
  onCalcitePanelScroll?: EventHandler<Panel["calcitePanelScroll"]>;
  onCalcitePanelToggle?: EventHandler<Panel["calcitePanelToggle"]>;
}

interface StencilCalcitePopover extends Required<Pick<Popover, "label" | "referenceElement">>, Partial<Pick<Popover, "autoClose" | "closable" | "flipDisabled" | "flipPlacements" | "focusTrapDisabled" | "focusTrapOptions" | "heading" | "headingLevel" | "messageOverrides" | "offsetDistance" | "offsetSkidding" | "open" | "overlayPositioning" | "placement" | "pointerDisabled" | "scale" | "topLayerDisabled" | "triggerDisabled">>, StencilJsx.HTMLAttributes<Popover> {
  onCalcitePopoverBeforeClose?: EventHandler<Popover["calcitePopoverBeforeClose"]>;
  onCalcitePopoverBeforeOpen?: EventHandler<Popover["calcitePopoverBeforeOpen"]>;
  onCalcitePopoverClose?: EventHandler<Popover["calcitePopoverClose"]>;
  onCalcitePopoverOpen?: EventHandler<Popover["calcitePopoverOpen"]>;
}

interface StencilCalciteProgress extends Partial<Pick<Progress, "label" | "reversed" | "text" | "type" | "value">>, StencilJsx.HTMLAttributes<Progress> {
}

interface StencilCalciteRadioButton extends Required<Pick<RadioButton, "value">>, Partial<Pick<RadioButton, "checked" | "disabled" | "form" | "labelText" | "name" | "required" | "scale" | "status" | "validationMessage">>, StencilJsx.HTMLAttributes<RadioButton> {
  onCalciteRadioButtonChange?: EventHandler<RadioButton["calciteRadioButtonChange"]>;
}

interface StencilCalciteRadioButtonGroup extends Required<Pick<RadioButtonGroup, "name">>, Partial<Pick<RadioButtonGroup, "disabled" | "labelText" | "layout" | "messageOverrides" | "required" | "scale" | "status" | "validationIcon" | "validationMessage">>, StencilJsx.HTMLAttributes<RadioButtonGroup> {
  onCalciteRadioButtonGroupChange?: EventHandler<RadioButtonGroup["calciteRadioButtonGroupChange"]>;
}

interface StencilCalciteRating extends Partial<Pick<Rating, "average" | "count" | "disabled" | "form" | "labelText" | "messageOverrides" | "name" | "readOnly" | "scale" | "showChip" | "status" | "validationIcon" | "validationMessage" | "value">>, StencilJsx.HTMLAttributes<Rating> {
  onCalciteRatingChange?: EventHandler<Rating["calciteRatingChange"]>;
}

interface StencilCalciteScrim extends Partial<Pick<Scrim, "loading" | "messageOverrides">>, StencilJsx.HTMLAttributes<Scrim> {
}

interface StencilCalciteSegmentedControl extends Partial<Pick<SegmentedControl, "appearance" | "disabled" | "form" | "labelText" | "layout" | "messageOverrides" | "name" | "required" | "scale" | "status" | "validationIcon" | "validationMessage" | "value" | "width">>, StencilJsx.HTMLAttributes<SegmentedControl> {
  onCalciteSegmentedControlChange?: EventHandler<SegmentedControl["calciteSegmentedControlChange"]>;
}

interface StencilCalciteSegmentedControlItem extends Partial<Pick<SegmentedControlItem, "checked" | "iconEnd" | "iconFlipRtl" | "iconStart" | "value">>, StencilJsx.HTMLAttributes<SegmentedControlItem> {
}

interface StencilCalciteSelect extends Required<Pick<Select, "label">>, Partial<Pick<Select, "disabled" | "form" | "labelText" | "messageOverrides" | "name" | "required" | "scale" | "status" | "validationIcon" | "validationMessage" | "value" | "width">>, StencilJsx.HTMLAttributes<Select> {
  onCalciteSelectChange?: EventHandler<Select["calciteSelectChange"]>;
}

interface StencilCalciteSheet extends Required<Pick<Sheet, "label">>, Partial<Pick<Sheet, "beforeClose" | "displayMode" | "escapeDisabled" | "focusTrapDisabled" | "focusTrapOptions" | "height" | "heightScale" | "messageOverrides" | "open" | "outsideCloseDisabled" | "position" | "resizable" | "topLayerDisabled" | "width" | "widthScale">>, StencilJsx.HTMLAttributes<Sheet> {
  onCalciteSheetBeforeClose?: EventHandler<Sheet["calciteSheetBeforeClose"]>;
  onCalciteSheetBeforeOpen?: EventHandler<Sheet["calciteSheetBeforeOpen"]>;
  onCalciteSheetClose?: EventHandler<Sheet["calciteSheetClose"]>;
  onCalciteSheetOpen?: EventHandler<Sheet["calciteSheetOpen"]>;
}

interface StencilCalciteShell extends Partial<Pick<Shell, "contentBehind">>, StencilJsx.HTMLAttributes<Shell> {
}

interface StencilCalciteShellPanel extends Partial<Pick<ShellPanel, "collapsed" | "displayMode" | "height" | "heightScale" | "layout" | "messageOverrides" | "position" | "resizable" | "width" | "widthScale">>, StencilJsx.HTMLAttributes<ShellPanel> {
  onCalciteShellPanelCollapse?: EventHandler<ShellPanel["calciteShellPanelCollapse"]>;
  onCalciteShellPanelExpand?: EventHandler<ShellPanel["calciteShellPanelExpand"]>;
}

interface StencilCalciteSlider extends Partial<Pick<Slider, "disabled" | "fillPlacement" | "form" | "groupSeparator" | "hasHistogram" | "histogram" | "histogramStops" | "labelFormatter" | "labelHandles" | "labelText" | "labelTicks" | "max" | "maxLabel" | "maxValue" | "messageOverrides" | "min" | "minLabel" | "minValue" | "mirrored" | "name" | "numberingSystem" | "pageStep" | "precise" | "required" | "scale" | "snap" | "status" | "step" | "ticks" | "validationIcon" | "validationMessage" | "value">>, StencilJsx.HTMLAttributes<Slider> {
  onCalciteSliderChange?: EventHandler<Slider["calciteSliderChange"]>;
  onCalciteSliderInput?: EventHandler<Slider["calciteSliderInput"]>;
}

interface StencilCalciteSortHandle extends Partial<Pick<SortHandle, "addToItems" | "disabled" | "flipPlacements" | "label" | "messageOverrides" | "moveToItems" | "open" | "overlayPositioning" | "placement" | "scale" | "setPosition" | "setSize" | "sortDisabled" | "topLayerDisabled" | "widthScale">>, StencilJsx.HTMLAttributes<SortHandle> {
  onCalciteSortHandleAdd?: EventHandler<SortHandle["calciteSortHandleAdd"]>;
  onCalciteSortHandleBeforeClose?: EventHandler<SortHandle["calciteSortHandleBeforeClose"]>;
  onCalciteSortHandleBeforeOpen?: EventHandler<SortHandle["calciteSortHandleBeforeOpen"]>;
  onCalciteSortHandleClose?: EventHandler<SortHandle["calciteSortHandleClose"]>;
  onCalciteSortHandleMove?: EventHandler<SortHandle["calciteSortHandleMove"]>;
  onCalciteSortHandleOpen?: EventHandler<SortHandle["calciteSortHandleOpen"]>;
  onCalciteSortHandleReorder?: EventHandler<SortHandle["calciteSortHandleReorder"]>;
}

interface StencilCalciteSortableList extends Partial<Pick<SortableList, "canPull" | "canPut" | "disabled" | "dragSelector" | "group" | "handleSelector" | "layout" | "loading">>, StencilJsx.HTMLAttributes<SortableList> {
  onCalciteListOrderChange?: EventHandler<SortableList["calciteListOrderChange"]>;
}

interface StencilCalciteSplitButton extends Partial<Pick<SplitButton, "appearance" | "disabled" | "download" | "dropdownIconType" | "dropdownLabel" | "flipPlacements" | "href" | "kind" | "loading" | "overlayPositioning" | "placement" | "primaryIconEnd" | "primaryIconFlipRtl" | "primaryIconStart" | "primaryLabel" | "primaryText" | "rel" | "scale" | "target" | "topLayerDisabled" | "width">>, StencilJsx.HTMLAttributes<SplitButton> {
  onCalciteSplitButtonPrimaryClick?: EventHandler<SplitButton["calciteSplitButtonPrimaryClick"]>;
  onCalciteSplitButtonSecondaryClick?: EventHandler<SplitButton["calciteSplitButtonSecondaryClick"]>;
}

interface StencilCalciteStack extends Partial<Pick<Stack, "disabled">>, StencilJsx.HTMLAttributes<Stack> {
}

interface StencilCalciteStepper extends Partial<Pick<Stepper, "icon" | "layout" | "messageOverrides" | "numbered" | "numberingSystem" | "scale">>, StencilJsx.HTMLAttributes<Stepper> {
  onCalciteStepperChange?: EventHandler<Stepper["calciteStepperChange"]>;
}

interface StencilCalciteStepperItem extends Partial<Pick<StepperItem, "complete" | "description" | "disabled" | "error" | "heading" | "iconFlipRtl" | "messageOverrides" | "selected">>, StencilJsx.HTMLAttributes<StepperItem> {
  onCalciteStepperItemSelect?: EventHandler<StepperItem["calciteStepperItemSelect"]>;
}

interface StencilCalciteSwatch extends Required<Pick<Swatch, "label">>, Partial<Pick<Swatch, "color" | "disabled" | "scale" | "selected" | "value">>, StencilJsx.HTMLAttributes<Swatch> {
  onCalciteSwatchSelect?: EventHandler<Swatch["calciteSwatchSelect"]>;
}

interface StencilCalciteSwatchGroup extends Required<Pick<SwatchGroup, "label">>, Partial<Pick<SwatchGroup, "disabled" | "scale" | "selectionMode">>, StencilJsx.HTMLAttributes<SwatchGroup> {
  onCalciteSwatchGroupSelect?: EventHandler<SwatchGroup["calciteSwatchGroupSelect"]>;
}

interface StencilCalciteSwitch extends Partial<Pick<Switch, "checked" | "disabled" | "form" | "label" | "labelTextEnd" | "labelTextStart" | "name" | "scale" | "value">>, StencilJsx.HTMLAttributes<Switch> {
  onCalciteSwitchChange?: EventHandler<Switch["calciteSwitchChange"]>;
}

interface StencilCalciteTab extends Partial<Pick<Tab, "selected" | "tab">>, StencilJsx.HTMLAttributes<Tab> {
}

interface StencilCalciteTabNav extends Partial<Pick<TabNav, "messageOverrides" | "position" | "storageId" | "syncId">>, StencilJsx.HTMLAttributes<TabNav> {
  onCalciteTabChange?: EventHandler<TabNav["calciteTabChange"]>;
}

interface StencilCalciteTabTitle extends Partial<Pick<TabTitle, "closable" | "closed" | "disabled" | "iconEnd" | "iconFlipRtl" | "iconStart" | "messageOverrides" | "position" | "selected" | "tab">>, StencilJsx.HTMLAttributes<TabTitle> {
  onCalciteTabsActivate?: EventHandler<TabTitle["calciteTabsActivate"]>;
  onCalciteTabsClose?: EventHandler<TabTitle["calciteTabsClose"]>;
}

interface StencilCalciteTable extends Required<Pick<Table, "caption">>, Partial<Pick<Table, "bordered" | "currentPage" | "groupSeparator" | "interactionMode" | "layout" | "messageOverrides" | "numbered" | "numberingSystem" | "pageSize" | "scale" | "selectionDisplay" | "selectionMode" | "striped">>, StencilJsx.HTMLAttributes<Table> {
  onCalciteTablePageChange?: EventHandler<Table["calciteTablePageChange"]>;
  onCalciteTableSelect?: EventHandler<Table["calciteTableSelect"]>;
}

interface StencilCalciteTableCell extends Partial<Pick<TableCell, "alignment" | "colSpan" | "messageOverrides" | "rowSpan">>, StencilJsx.HTMLAttributes<TableCell> {
}

interface StencilCalciteTableHeader extends Partial<Pick<TableHeader, "alignment" | "colSpan" | "description" | "heading" | "messageOverrides" | "rowSpan">>, StencilJsx.HTMLAttributes<TableHeader> {
}

interface StencilCalciteTableRow extends Partial<Pick<TableRow, "alignment" | "disabled" | "selected">>, StencilJsx.HTMLAttributes<TableRow> {
  onCalciteTableRowSelect?: EventHandler<TableRow["calciteTableRowSelect"]>;
}

interface StencilCalciteTabs extends Partial<Pick<Tabs, "bordered" | "layout" | "position" | "scale">>, StencilJsx.HTMLAttributes<Tabs> {
}

interface StencilCalciteTextArea extends Partial<Pick<TextArea, "columns" | "disabled" | "form" | "groupSeparator" | "label" | "labelText" | "limitText" | "loading" | "maxLength" | "messageOverrides" | "minLength" | "name" | "numberingSystem" | "placeholder" | "readOnly" | "required" | "resize" | "rows" | "scale" | "status" | "validationIcon" | "validationMessage" | "value" | "wrap">>, StencilJsx.HTMLAttributes<TextArea> {
  onCalciteTextAreaChange?: EventHandler<TextArea["calciteTextAreaChange"]>;
  onCalciteTextAreaInput?: EventHandler<TextArea["calciteTextAreaInput"]>;
}

interface StencilCalciteTile extends Partial<Pick<Tile, "active" | "alignment" | "description" | "disabled" | "embed" | "heading" | "headingLevel" | "href" | "icon" | "iconFlipRtl" | "label" | "scale" | "selected">>, StencilJsx.HTMLAttributes<Tile> {
  onCalciteTileSelect?: EventHandler<Tile["calciteTileSelect"]>;
}

interface StencilCalciteTileGroup extends Required<Pick<TileGroup, "label">>, Partial<Pick<TileGroup, "alignment" | "disabled" | "layout" | "scale" | "selectionAppearance" | "selectionMode">>, StencilJsx.HTMLAttributes<TileGroup> {
  onCalciteTileGroupSelect?: EventHandler<TileGroup["calciteTileGroupSelect"]>;
}

interface StencilCalciteTimePicker extends Partial<Pick<TimePicker, "hourFormat" | "messageOverrides" | "numberingSystem" | "scale" | "step" | "time" | "value">>, StencilJsx.HTMLAttributes<TimePicker> {
  onCalciteTimePickerChange?: EventHandler<TimePicker["calciteTimePickerChange"]>;
}

interface StencilCalciteTooltip extends Partial<Pick<Tooltip, "closeOnClick" | "label" | "offsetDistance" | "offsetSkidding" | "open" | "overlayPositioning" | "placement" | "pointerDisabled" | "referenceElement" | "scale" | "topLayerDisabled">>, StencilJsx.HTMLAttributes<Tooltip> {
  onCalciteTooltipBeforeClose?: EventHandler<Tooltip["calciteTooltipBeforeClose"]>;
  onCalciteTooltipBeforeOpen?: EventHandler<Tooltip["calciteTooltipBeforeOpen"]>;
  onCalciteTooltipClose?: EventHandler<Tooltip["calciteTooltipClose"]>;
  onCalciteTooltipOpen?: EventHandler<Tooltip["calciteTooltipOpen"]>;
}

interface StencilCalciteTree extends Partial<Pick<Tree, "lines" | "scale" | "selectionMode">>, StencilJsx.HTMLAttributes<Tree> {
  onCalciteTreeSelect?: EventHandler<Tree["calciteTreeSelect"]>;
}

interface StencilCalciteTreeItem extends Partial<Pick<TreeItem, "disabled" | "expanded" | "iconFlipRtl" | "iconStart" | "label" | "selected">>, StencilJsx.HTMLAttributes<TreeItem> {
  onCalciteTreeItemCollapse?: EventHandler<TreeItem["calciteTreeItemCollapse"]>;
  onCalciteTreeItemExpand?: EventHandler<TreeItem["calciteTreeItemExpand"]>;
  onCalciteTreeItemSelect?: EventHandler<TreeItem["calciteTreeItemSelect"]>;
}

interface ExposedElements {
  "calcite-accordion": StencilCalciteAccordion;
  "calcite-accordion-item": StencilCalciteAccordionItem;
  "calcite-action": StencilCalciteAction;
  "calcite-action-bar": StencilCalciteActionBar;
  "calcite-action-group": StencilCalciteActionGroup;
  "calcite-action-menu": StencilCalciteActionMenu;
  "calcite-action-pad": StencilCalciteActionPad;
  "calcite-alert": StencilCalciteAlert;
  "calcite-autocomplete": StencilCalciteAutocomplete;
  "calcite-autocomplete-item": StencilCalciteAutocompleteItem;
  "calcite-autocomplete-item-group": StencilCalciteAutocompleteItemGroup;
  "calcite-avatar": StencilCalciteAvatar;
  "calcite-block": StencilCalciteBlock;
  "calcite-block-group": StencilCalciteBlockGroup;
  "calcite-block-section": StencilCalciteBlockSection;
  "calcite-button": StencilCalciteButton;
  "calcite-card": StencilCalciteCard;
  "calcite-card-group": StencilCalciteCardGroup;
  "calcite-carousel": StencilCalciteCarousel;
  "calcite-carousel-item": StencilCalciteCarouselItem;
  "calcite-checkbox": StencilCalciteCheckbox;
  "calcite-chip": StencilCalciteChip;
  "calcite-chip-group": StencilCalciteChipGroup;
  "calcite-color-picker": StencilCalciteColorPicker;
  "calcite-color-picker-hex-input": StencilCalciteColorPickerHexInput;
  "calcite-color-picker-swatch": StencilCalciteColorPickerSwatch;
  "calcite-combobox": StencilCalciteCombobox;
  "calcite-combobox-item": StencilCalciteComboboxItem;
  "calcite-combobox-item-group": StencilCalciteComboboxItemGroup;
  "calcite-date-picker": StencilCalciteDatePicker;
  "calcite-date-picker-day": StencilCalciteDatePickerDay;
  "calcite-date-picker-month": StencilCalciteDatePickerMonth;
  "calcite-dialog": StencilCalciteDialog;
  "calcite-dropdown": StencilCalciteDropdown;
  "calcite-dropdown-group": StencilCalciteDropdownGroup;
  "calcite-dropdown-item": StencilCalciteDropdownItem;
  "calcite-fab": StencilCalciteFab;
  "calcite-filter": StencilCalciteFilter;
  "calcite-flow": StencilCalciteFlow;
  "calcite-flow-item": StencilCalciteFlowItem;
  "calcite-focus-trap": StencilCalciteFocusTrap;
  "calcite-graph": StencilCalciteGraph;
  "calcite-handle": StencilCalciteHandle;
  "calcite-icon": StencilCalciteIcon;
  "calcite-inline-editable": StencilCalciteInlineEditable;
  "calcite-input": StencilCalciteInput;
  "calcite-input-date-picker": StencilCalciteInputDatePicker;
  "calcite-input-message": StencilCalciteInputMessage;
  "calcite-input-number": StencilCalciteInputNumber;
  "calcite-input-text": StencilCalciteInputText;
  "calcite-input-time-picker": StencilCalciteInputTimePicker;
  "calcite-input-time-zone": StencilCalciteInputTimeZone;
  "calcite-label": StencilCalciteLabel;
  "calcite-link": StencilCalciteLink;
  "calcite-list": StencilCalciteList;
  "calcite-list-item": StencilCalciteListItem;
  "calcite-list-item-group": StencilCalciteListItemGroup;
  "calcite-loader": StencilCalciteLoader;
  "calcite-menu": StencilCalciteMenu;
  "calcite-menu-item": StencilCalciteMenuItem;
  "calcite-meter": StencilCalciteMeter;
  "calcite-navigation": StencilCalciteNavigation;
  "calcite-navigation-logo": StencilCalciteNavigationLogo;
  "calcite-navigation-user": StencilCalciteNavigationUser;
  "calcite-notice": StencilCalciteNotice;
  "calcite-option": StencilCalciteOption;
  "calcite-option-group": StencilCalciteOptionGroup;
  "calcite-pagination": StencilCalcitePagination;
  "calcite-panel": StencilCalcitePanel;
  "calcite-popover": StencilCalcitePopover;
  "calcite-progress": StencilCalciteProgress;
  "calcite-radio-button": StencilCalciteRadioButton;
  "calcite-radio-button-group": StencilCalciteRadioButtonGroup;
  "calcite-rating": StencilCalciteRating;
  "calcite-scrim": StencilCalciteScrim;
  "calcite-segmented-control": StencilCalciteSegmentedControl;
  "calcite-segmented-control-item": StencilCalciteSegmentedControlItem;
  "calcite-select": StencilCalciteSelect;
  "calcite-sheet": StencilCalciteSheet;
  "calcite-shell": StencilCalciteShell;
  "calcite-shell-panel": StencilCalciteShellPanel;
  "calcite-slider": StencilCalciteSlider;
  "calcite-sort-handle": StencilCalciteSortHandle;
  "calcite-sortable-list": StencilCalciteSortableList;
  "calcite-split-button": StencilCalciteSplitButton;
  "calcite-stack": StencilCalciteStack;
  "calcite-stepper": StencilCalciteStepper;
  "calcite-stepper-item": StencilCalciteStepperItem;
  "calcite-swatch": StencilCalciteSwatch;
  "calcite-swatch-group": StencilCalciteSwatchGroup;
  "calcite-switch": StencilCalciteSwitch;
  "calcite-tab": StencilCalciteTab;
  "calcite-tab-nav": StencilCalciteTabNav;
  "calcite-tab-title": StencilCalciteTabTitle;
  "calcite-table": StencilCalciteTable;
  "calcite-table-cell": StencilCalciteTableCell;
  "calcite-table-header": StencilCalciteTableHeader;
  "calcite-table-row": StencilCalciteTableRow;
  "calcite-tabs": StencilCalciteTabs;
  "calcite-text-area": StencilCalciteTextArea;
  "calcite-tile": StencilCalciteTile;
  "calcite-tile-group": StencilCalciteTileGroup;
  "calcite-time-picker": StencilCalciteTimePicker;
  "calcite-tooltip": StencilCalciteTooltip;
  "calcite-tree": StencilCalciteTree;
  "calcite-tree-item": StencilCalciteTreeItem;
}

export namespace JSX {
  export interface IntrinsicElements extends ExposedElements {}
}

declare module "@stencil/core/internal/stencil-public-runtime" {
  export namespace h.JSX {
    interface IntrinsicElements extends ExposedElements {}
  }
}