/* InfineonDesignSystemStencil custom elements */
export { Accordion as IfxAccordion } from '../types/components/accordion/accordion';
export { defineCustomElement as defineCustomElementIfxAccordion } from './ifx-accordion';
export { AccordionItem as IfxAccordionItem } from '../types/components/accordion/accordionItem';
export { defineCustomElement as defineCustomElementIfxAccordionItem } from './ifx-accordion-item';
export { ActionList as IfxActionList } from '../types/components/action-list/action-list';
export { defineCustomElement as defineCustomElementIfxActionList } from './ifx-action-list';
export { ActionListItem as IfxActionListItem } from '../types/components/action-list/action-list-item';
export { defineCustomElement as defineCustomElementIfxActionListItem } from './ifx-action-list-item';
export { AiLabel as IfxAiLabel } from '../types/components/ai-label/ai-label';
export { defineCustomElement as defineCustomElementIfxAiLabel } from './ifx-ai-label';
export { Alert as IfxAlert } from '../types/components/alert/alert';
export { defineCustomElement as defineCustomElementIfxAlert } from './ifx-alert';
export { Table as IfxBasicTable } from '../types/components/table-basic-version/table';
export { defineCustomElement as defineCustomElementIfxBasicTable } from './ifx-basic-table';
export { Breadcrumb as IfxBreadcrumb } from '../types/components/breadcrumb/breadcrumb';
export { defineCustomElement as defineCustomElementIfxBreadcrumb } from './ifx-breadcrumb';
export { BreadcrumbItem as IfxBreadcrumbItem } from '../types/components/breadcrumb/breadcrumb-item';
export { defineCustomElement as defineCustomElementIfxBreadcrumbItem } from './ifx-breadcrumb-item';
export { BreadcrumbItemLabel as IfxBreadcrumbItemLabel } from '../types/components/breadcrumb/breadcrumb-item-label';
export { defineCustomElement as defineCustomElementIfxBreadcrumbItemLabel } from './ifx-breadcrumb-item-label';
export { Button as IfxButton } from '../types/components/button/button';
export { defineCustomElement as defineCustomElementIfxButton } from './ifx-button';
export { Card as IfxCard } from '../types/components/card/card';
export { defineCustomElement as defineCustomElementIfxCard } from './ifx-card';
export { CardHeadline as IfxCardHeadline } from '../types/components/card/card-headline/card-headline';
export { defineCustomElement as defineCustomElementIfxCardHeadline } from './ifx-card-headline';
export { CardImage as IfxCardImage } from '../types/components/card/card-image/card-image';
export { defineCustomElement as defineCustomElementIfxCardImage } from './ifx-card-image';
export { CardLinks as IfxCardLinks } from '../types/components/card/card-links/card-links';
export { defineCustomElement as defineCustomElementIfxCardLinks } from './ifx-card-links';
export { CardOverline as IfxCardOverline } from '../types/components/card/card-overline/card-overline';
export { defineCustomElement as defineCustomElementIfxCardOverline } from './ifx-card-overline';
export { CardText as IfxCardText } from '../types/components/card/card-text/card-text';
export { defineCustomElement as defineCustomElementIfxCardText } from './ifx-card-text';
export { Checkbox as IfxCheckbox } from '../types/components/checkbox/checkbox';
export { defineCustomElement as defineCustomElementIfxCheckbox } from './ifx-checkbox';
export { CheckboxGroup as IfxCheckboxGroup } from '../types/components/checkbox-group/checkbox-group';
export { defineCustomElement as defineCustomElementIfxCheckboxGroup } from './ifx-checkbox-group';
export { Chip as IfxChip } from '../types/components/chip/chip';
export { defineCustomElement as defineCustomElementIfxChip } from './ifx-chip';
export { ChipItem as IfxChipItem } from '../types/components/chip/chip-item/chip-item';
export { defineCustomElement as defineCustomElementIfxChipItem } from './ifx-chip-item';
export { ContentSwitcher as IfxContentSwitcher } from '../types/components/content-switcher/content-switcher';
export { defineCustomElement as defineCustomElementIfxContentSwitcher } from './ifx-content-switcher';
export { ContentSwitcherItem as IfxContentSwitcherItem } from '../types/components/content-switcher/content-switcher-item';
export { defineCustomElement as defineCustomElementIfxContentSwitcherItem } from './ifx-content-switcher-item';
export { DatePicker as IfxDatePicker } from '../types/components/date-picker/date-picker';
export { defineCustomElement as defineCustomElementIfxDatePicker } from './ifx-date-picker';
export { Download as IfxDownload } from '../types/components/download/download';
export { defineCustomElement as defineCustomElementIfxDownload } from './ifx-download';
export { Dropdown as IfxDropdown } from '../types/components/dropdown/dropdown';
export { defineCustomElement as defineCustomElementIfxDropdown } from './ifx-dropdown';
export { DropdownHeader as IfxDropdownHeader } from '../types/components/dropdown/dropdown-header/dropdown-header';
export { defineCustomElement as defineCustomElementIfxDropdownHeader } from './ifx-dropdown-header';
export { DropdownItem as IfxDropdownItem } from '../types/components/dropdown/dropdown-item/dropdown-item';
export { defineCustomElement as defineCustomElementIfxDropdownItem } from './ifx-dropdown-item';
export { DropdownMenu as IfxDropdownMenu } from '../types/components/dropdown/dropdown-menu/dropdown-menu';
export { defineCustomElement as defineCustomElementIfxDropdownMenu } from './ifx-dropdown-menu';
export { DropdownSeparator as IfxDropdownSeparator } from '../types/components/dropdown/dropdown-seperator/dropdown-separator';
export { defineCustomElement as defineCustomElementIfxDropdownSeparator } from './ifx-dropdown-separator';
export { DropdownItem as IfxDropdownTrigger } from '../types/components/dropdown/dropdown-trigger/dropdown-trigger';
export { defineCustomElement as defineCustomElementIfxDropdownTrigger } from './ifx-dropdown-trigger';
export { DropdownItem as IfxDropdownTriggerButton } from '../types/components/dropdown/dropdown-trigger-button/dropdown-trigger-button';
export { defineCustomElement as defineCustomElementIfxDropdownTriggerButton } from './ifx-dropdown-trigger-button';
export { Faq as IfxFaq } from '../types/storybook/stories/setup-and-installation/faq/faq';
export { defineCustomElement as defineCustomElementIfxFaq } from './ifx-faq';
export { FileUpload as IfxFileUpload } from '../types/components/file-upload/file-upload';
export { defineCustomElement as defineCustomElementIfxFileUpload } from './ifx-file-upload';
export { FilterAccordion as IfxFilterAccordion } from '../types/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion';
export { defineCustomElement as defineCustomElementIfxFilterAccordion } from './ifx-filter-accordion';
export { FilterBar as IfxFilterBar } from '../types/components/table-advanced-version/filter-bar/filter-bar';
export { defineCustomElement as defineCustomElementIfxFilterBar } from './ifx-filter-bar';
export { FilterSearch as IfxFilterSearch } from '../types/components/table-advanced-version/filter-type-group/filter-search/filter-search';
export { defineCustomElement as defineCustomElementIfxFilterSearch } from './ifx-filter-search';
export { IfxFilterTypeGroup as IfxFilterTypeGroup } from '../types/components/table-advanced-version/filter-type-group/filter-type-group';
export { defineCustomElement as defineCustomElementIfxFilterTypeGroup } from './ifx-filter-type-group';
export { Footer as IfxFooter } from '../types/components/footer/footer';
export { defineCustomElement as defineCustomElementIfxFooter } from './ifx-footer';
export { FooterColumn as IfxFooterColumn } from '../types/components/footer/footer-column';
export { defineCustomElement as defineCustomElementIfxFooterColumn } from './ifx-footer-column';
export { InfineonIconStencil as IfxIcon } from '../types/components/icon/infineonIconStencil';
export { defineCustomElement as defineCustomElementIfxIcon } from './ifx-icon';
export { IconButton as IfxIconButton } from '../types/components/icon-button/icon-button';
export { defineCustomElement as defineCustomElementIfxIconButton } from './ifx-icon-button';
export { IconsPreview as IfxIconsPreview } from '../types/components/icons-preview/icons-preview';
export { defineCustomElement as defineCustomElementIfxIconsPreview } from './ifx-icons-preview';
export { Indicator as IfxIndicator } from '../types/components/indicator/indicator';
export { defineCustomElement as defineCustomElementIfxIndicator } from './ifx-indicator';
export { Link as IfxLink } from '../types/components/link/link';
export { defineCustomElement as defineCustomElementIfxLink } from './ifx-link';
export { List as IfxList } from '../types/components/table-advanced-version/list/list';
export { defineCustomElement as defineCustomElementIfxList } from './ifx-list';
export { ListEntry as IfxListEntry } from '../types/components/table-advanced-version/list/list-entry/list-entry';
export { defineCustomElement as defineCustomElementIfxListEntry } from './ifx-list-entry';
export { IfxModal as IfxModal } from '../types/components/modal/modal';
export { defineCustomElement as defineCustomElementIfxModal } from './ifx-modal';
export { Multiselect as IfxMultiselect } from '../types/components/select/multi-select/multiselect';
export { defineCustomElement as defineCustomElementIfxMultiselect } from './ifx-multiselect';
export { MultiselectOption as IfxMultiselectOption } from '../types/components/select/multi-select/multiselect-option';
export { defineCustomElement as defineCustomElementIfxMultiselectOption } from './ifx-multiselect-option';
export { Navbar as IfxNavbar } from '../types/components/navigation/navbar/navbar';
export { defineCustomElement as defineCustomElementIfxNavbar } from './ifx-navbar';
export { NavbarItem as IfxNavbarItem } from '../types/components/navigation/navbar/navbar-item';
export { defineCustomElement as defineCustomElementIfxNavbarItem } from './ifx-navbar-item';
export { NavbarProfile as IfxNavbarProfile } from '../types/components/navigation/navbar/navbar-profile';
export { defineCustomElement as defineCustomElementIfxNavbarProfile } from './ifx-navbar-profile';
export { Notification as IfxNotification } from '../types/components/notification/notification';
export { defineCustomElement as defineCustomElementIfxNotification } from './ifx-notification';
export { OverviewTable as IfxOverviewTable } from '../types/components/overview-table/overview-table';
export { defineCustomElement as defineCustomElementIfxOverviewTable } from './ifx-overview-table';
export { Pagination as IfxPagination } from '../types/components/pagination/pagination';
export { defineCustomElement as defineCustomElementIfxPagination } from './ifx-pagination';
export { Popover as IfxPopover } from '../types/components/popover/popover';
export { defineCustomElement as defineCustomElementIfxPopover } from './ifx-popover';
export { ProgressBar as IfxProgressBar } from '../types/components/progress-bar/progress-bar';
export { defineCustomElement as defineCustomElementIfxProgressBar } from './ifx-progress-bar';
export { RadioButton as IfxRadioButton } from '../types/components/radio-button/radio-button';
export { defineCustomElement as defineCustomElementIfxRadioButton } from './ifx-radio-button';
export { RadioButtonGroup as IfxRadioButtonGroup } from '../types/components/radio-button-group/radio-button-group';
export { defineCustomElement as defineCustomElementIfxRadioButtonGroup } from './ifx-radio-button-group';
export { SearchBar as IfxSearchBar } from '../types/components/search-bar/search-bar';
export { defineCustomElement as defineCustomElementIfxSearchBar } from './ifx-search-bar';
export { SearchField as IfxSearchField } from '../types/components/search-field/search-field';
export { defineCustomElement as defineCustomElementIfxSearchField } from './ifx-search-field';
export { Segment as IfxSegment } from '../types/components/segmented-control/segment/segment';
export { defineCustomElement as defineCustomElementIfxSegment } from './ifx-segment';
export { SegmentedControl as IfxSegmentedControl } from '../types/components/segmented-control/segmented-control';
export { defineCustomElement as defineCustomElementIfxSegmentedControl } from './ifx-segmented-control';
export { Choices as IfxSelect } from '../types/components/select/single-select/select';
export { defineCustomElement as defineCustomElementIfxSelect } from './ifx-select';
export { SetFilter as IfxSetFilter } from '../types/components/table-advanced-version/set-filter/setFilter';
export { defineCustomElement as defineCustomElementIfxSetFilter } from './ifx-set-filter';
export { Sidebar as IfxSidebar } from '../types/components/navigation/sidebar/sidebar';
export { defineCustomElement as defineCustomElementIfxSidebar } from './ifx-sidebar';
export { SidebarItem as IfxSidebarItem } from '../types/components/navigation/sidebar/sidebar-item';
export { defineCustomElement as defineCustomElementIfxSidebarItem } from './ifx-sidebar-item';
export { SidebarTitle as IfxSidebarTitle } from '../types/components/navigation/sidebar/sidebar-title';
export { defineCustomElement as defineCustomElementIfxSidebarTitle } from './ifx-sidebar-title';
export { IfxSlider as IfxSlider } from '../types/components/slider/slider';
export { defineCustomElement as defineCustomElementIfxSlider } from './ifx-slider';
export { Spinner as IfxSpinner } from '../types/components/spinner/spinner';
export { defineCustomElement as defineCustomElementIfxSpinner } from './ifx-spinner';
export { Status as IfxStatus } from '../types/components/status/status';
export { defineCustomElement as defineCustomElementIfxStatus } from './ifx-status';
export { Step as IfxStep } from '../types/components/stepper/step/step';
export { defineCustomElement as defineCustomElementIfxStep } from './ifx-step';
export { Stepper as IfxStepper } from '../types/components/stepper/stepper';
export { defineCustomElement as defineCustomElementIfxStepper } from './ifx-stepper';
export { Switch as IfxSwitch } from '../types/components/switch/switch';
export { defineCustomElement as defineCustomElementIfxSwitch } from './ifx-switch';
export { IfxTab as IfxTab } from '../types/components/tabs/tab';
export { defineCustomElement as defineCustomElementIfxTab } from './ifx-tab';
export { Table as IfxTable } from '../types/components/table-advanced-version/table';
export { defineCustomElement as defineCustomElementIfxTable } from './ifx-table';
export { IfxTabs as IfxTabs } from '../types/components/tabs/tabs';
export { defineCustomElement as defineCustomElementIfxTabs } from './ifx-tabs';
export { Template as IfxTemplate } from '../types/components/templates/template/template';
export { defineCustomElement as defineCustomElementIfxTemplate } from './ifx-template';
export { TemplatesUI as IfxTemplatesUi } from '../types/components/templates/templates-ui/templates-ui';
export { defineCustomElement as defineCustomElementIfxTemplatesUi } from './ifx-templates-ui';
export { TextField as IfxTextField } from '../types/components/text-field/text-field';
export { defineCustomElement as defineCustomElementIfxTextField } from './ifx-text-field';
export { TextArea as IfxTextarea } from '../types/components/textarea/textarea';
export { defineCustomElement as defineCustomElementIfxTextarea } from './ifx-textarea';
export { Tooltip as IfxTooltip } from '../types/components/tooltip/tooltip';
export { defineCustomElement as defineCustomElementIfxTooltip } from './ifx-tooltip';
export { TreeView as IfxTreeView } from '../types/components/tree-view/tree-view';
export { defineCustomElement as defineCustomElementIfxTreeView } from './ifx-tree-view';
export { TreeViewItem as IfxTreeViewItem } from '../types/components/tree-view/tree-view-item';
export { defineCustomElement as defineCustomElementIfxTreeViewItem } from './ifx-tree-view-item';

/**
 * Get the base path to where the assets can be found. Use "setAssetPath(path)"
 * if the path needs to be customized.
 */
export declare const getAssetPath: (path: string) => string;

/**
 * Used to manually set the base path where assets can be found.
 * If the script is used as "module", it's recommended to use "import.meta.url",
 * such as "setAssetPath(import.meta.url)". Other options include
 * "setAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
 * dynamically set the path at build time, such as "setAssetPath(process.env.ASSET_PATH)".
 * But do note that this configuration depends on how your script is bundled, or lack of
 * bundling, and where your assets can be loaded from. Additionally custom bundling
 * will have to ensure the static assets are copied to its build directory.
 */
export declare const setAssetPath: (path: string) => void;

/**
 * Used to specify a nonce value that corresponds with an application's CSP.
 * When set, the nonce will be added to all dynamically created script and style tags at runtime.
 * Alternatively, the nonce value can be set on a meta tag in the DOM head
 * (<meta name="csp-nonce" content="{ nonce value here }" />) which
 * will result in the same behavior.
 */
export declare const setNonce: (nonce: string) => void

export interface SetPlatformOptions {
  raf?: (c: FrameRequestCallback) => number;
  ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
  rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
}
export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;

export * from '../types';
