import type { UmbApi } from '../models/index.js'; export type HTMLElementConstructor = new (...args: any[]) => T; export type ClassConstructor = new (...args: any[]) => T; export type CssLoaderExports = { default: CssType; } | { css: CssType; }; export type ElementLoaderExports = { default: ClassConstructor; } | { element: ClassConstructor; }; export type ApiLoaderExports = { default: ClassConstructor; } | { api: ClassConstructor; }; export type ElementAndApiLoaderExports = { api: ClassConstructor; } | { element: ClassConstructor; } | { api: ClassConstructor; element: ClassConstructor; }; export type CssLoaderPromise = () => Promise>; export type JsLoaderPromise = () => Promise; export type ElementLoaderPromise = () => Promise>; export type ApiLoaderPromise = () => Promise>; export type ElementAndApiLoaderPromise = () => Promise>; export type CssLoaderProperty = string | CssLoaderPromise; export type JsLoaderProperty = string | JsLoaderPromise | (JsExportType extends object ? JsExportType : never); export type ElementLoaderProperty = string | ElementLoaderPromise | ElementLoaderExports | ClassConstructor; export type ApiLoaderProperty = string | ApiLoaderPromise | ApiLoaderExports | ClassConstructor; export type ElementAndApiLoaderProperty = string | ElementAndApiLoaderPromise | ElementAndApiLoaderExports | ElementLoaderPromise | ElementLoaderExports | ApiLoaderPromise | ApiLoaderExports;