import type { UmbApi } from '../models/api.interface.js'; import type { ManifestElementAndApi } from '../types/base.types.js'; import type { ApiLoaderProperty } from '../types/utils.js'; import type { UmbApiConstructorArgumentsMethodType } from './types.js'; import type { UmbControllerHostElement } from '../../controller-api/index.js'; /** * * @template {UmbControllerHostElement} ElementType * @template {UmbApi} ApiType * @param {ManifestElementAndApi} manifest The manifest to create the element and api from. * @param {unknown[] | UmbApiConstructorArgumentsMethodType>} [constructorArgs] Additional arguments passed to the api constructor, or a function that returns them. * @param {string} [fallbackElement] An element tag name to fall back to if the manifest does not provide one. * @param {ApiLoaderProperty} [fallbackApi] An api class to fall back to if the manifest does not provide one. * @returns {Promise<{ element?: ElementType; api?: ApiType }>} - Returns an object with the created element and api. */ export declare function createExtensionElementWithApi(manifest: ManifestElementAndApi, constructorArgs?: unknown[] | UmbApiConstructorArgumentsMethodType>, fallbackElement?: string, fallbackApi?: ApiLoaderProperty): Promise<{ element?: ElementType; api?: ApiType; }>;