/* SgnwComponents custom elements */
export { FswButton as FswButton } from '../types/components/fsw-button/fsw-button';
export { FswPalette as FswPalette } from '../types/components/fsw-palette/fsw-palette';
export { FswPaletteSymbol as FswPaletteSymbol } from '../types/components/fsw-palette-symbol/fsw-palette-symbol';
export { FswSign as FswSign } from '../types/components/fsw-sign/fsw-sign';
export { FswSignbox as FswSignbox } from '../types/components/fsw-signbox/fsw-signbox';
export { FswSymbol as FswSpatial } from '../types/components/fsw-spatial/fsw-spatial';
export { FswSymbol as FswSymbol } from '../types/components/fsw-symbol/fsw-symbol';
export { FswVp as FswVp } from '../types/components/fsw-vp/fsw-vp';
export { SgnwButton as SgnwButton } from '../types/components/sgnw-button/sgnw-button';
export { SgnwPalette as SgnwPalette } from '../types/components/sgnw-palette/sgnw-palette';
export { SgnwPaletteSymbol as SgnwPaletteSymbol } from '../types/components/sgnw-palette-symbol/sgnw-palette-symbol';
export { SgnwSign as SgnwSign } from '../types/components/sgnw-sign/sgnw-sign';
export { SgnwSignbox as SgnwSignbox } from '../types/components/sgnw-signbox/sgnw-signbox';
export { SgnwSymbol as SgnwSymbol } from '../types/components/sgnw-symbol/sgnw-symbol';
export { SgnwVp as SgnwVp } from '../types/components/sgnw-vp/sgnw-vp';

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

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