/* LmvzComponents custom elements */
export { LmvzAction as LmvzAction } from '../../types/components/lmvz-action/lmvz-action';
export { defineCustomElement as defineCustomElementLmvzAction } from './lmvz-action';
export { LmvzActionList as LmvzActionList } from '../../types/components/lmvz-action-list/lmvz-action-list';
export { defineCustomElement as defineCustomElementLmvzActionList } from './lmvz-action-list';
export { LmvzButton as LmvzButton } from '../../types/components/lmvz-button/lmvz-button';
export { defineCustomElement as defineCustomElementLmvzButton } from './lmvz-button';
export { LmvzButtonGroup as LmvzButtonGroup } from '../../types/components/lmvz-button-group/lmvz-button-group';
export { defineCustomElement as defineCustomElementLmvzButtonGroup } from './lmvz-button-group';
export { LmvzCard as LmvzCard } from '../../types/components/lmvz-card/lmvz-card';
export { defineCustomElement as defineCustomElementLmvzCard } from './lmvz-card';
export { LmvzCheckbox as LmvzCheckbox } from '../../types/components/lmvz-checkbox/lmvz-checkbox';
export { defineCustomElement as defineCustomElementLmvzCheckbox } from './lmvz-checkbox';
export { LmvzChip as LmvzChip } from '../../types/components/lmvz-chip/lmvz-chip';
export { defineCustomElement as defineCustomElementLmvzChip } from './lmvz-chip';
export { LmvzDatepicker as LmvzDatepicker } from '../../types/components/lmvz-datepicker/lmvz-datepicker';
export { defineCustomElement as defineCustomElementLmvzDatepicker } from './lmvz-datepicker';
export { LmvzHeader as LmvzHeader } from '../../types/components/lmvz-header/lmvz-header';
export { defineCustomElement as defineCustomElementLmvzHeader } from './lmvz-header';
export { LmvzIcon as LmvzIcon } from '../../types/components/lmvz-icon/lmvz-icon';
export { defineCustomElement as defineCustomElementLmvzIcon } from './lmvz-icon';
export { LmvzInput as LmvzInput } from '../../types/components/lmvz-input/lmvz-input';
export { defineCustomElement as defineCustomElementLmvzInput } from './lmvz-input';
export { LmvzLink as LmvzLink } from '../../types/components/lmvz-link/lmvz-link';
export { defineCustomElement as defineCustomElementLmvzLink } from './lmvz-link';
export { LmvzMenuItem as LmvzMenuitem } from '../../types/components/lmvz-menuitem/lmvz-menuitem';
export { defineCustomElement as defineCustomElementLmvzMenuitem } from './lmvz-menuitem';
export { LmvzMessage as LmvzMessage } from '../../types/components/lmvz-message/lmvz-message';
export { defineCustomElement as defineCustomElementLmvzMessage } from './lmvz-message';
export { LmvzModal as LmvzModal } from '../../types/components/lmvz-modal/lmvz-modal';
export { defineCustomElement as defineCustomElementLmvzModal } from './lmvz-modal';
export { LmvzPopover as LmvzPopover } from '../../types/components/lmvz-popover/lmvz-popover';
export { defineCustomElement as defineCustomElementLmvzPopover } from './lmvz-popover';
export { LmvzRadio as LmvzRadio } from '../../types/components/lmvz-radio/lmvz-radio';
export { defineCustomElement as defineCustomElementLmvzRadio } from './lmvz-radio';
export { LmvzSelect as LmvzSelect } from '../../types/components/lmvz-select/lmvz-select';
export { defineCustomElement as defineCustomElementLmvzSelect } from './lmvz-select';
export { LmvzSnackbar as LmvzSnackbar } from '../../types/components/lmvz-snackbar/lmvz-snackbar';
export { defineCustomElement as defineCustomElementLmvzSnackbar } from './lmvz-snackbar';
export { LmvzSpinner as LmvzSpinner } from '../../types/components/lmvz-spinner/lmvz-spinner';
export { defineCustomElement as defineCustomElementLmvzSpinner } from './lmvz-spinner';
export { LmvzTab as LmvzTab } from '../../types/components/lmvz-tab/lmvz-tab';
export { defineCustomElement as defineCustomElementLmvzTab } from './lmvz-tab';
export { LmvzTabs as LmvzTabs } from '../../types/components/lmvz-tabs/lmvz-tabs';
export { defineCustomElement as defineCustomElementLmvzTabs } from './lmvz-tabs';
export { LmvzToggle as LmvzToggle } from '../../types/components/lmvz-toggle/lmvz-toggle';
export { defineCustomElement as defineCustomElementLmvzToggle } from './lmvz-toggle';

/**
 * 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';
