export type LoadableElements = {
embed: HTMLEmbedElement;
iframe: HTMLIFrameElement;
img: HTMLImageElement;
link: HTMLLinkElement;
script: HTMLScriptElement;
track: HTMLTrackElement;
};
export type LoadableElementsNames = keyof LoadableElements;
export type LoadElementsOptions = {
/**
* An HTML element where the created element will be appended.
*/
appendTo?: HTMLElement;
};
export type LoadElementsReturnType = Promise<{
event: Event;
element: LoadableElements[T];
}>;
/**
* Load the given source for the given type of element.
* @todo manage memo
* @link https://js-toolkit.studiometa.dev/utils/loadElement.html
*/
export declare function loadElement(src: string, type: T, { appendTo }?: LoadElementsOptions): LoadElementsReturnType;
/**
* Load the given source as an `
` element.
* @link https://js-toolkit.studiometa.dev/utils/loadImage.html
*/
export declare function loadImage(src: string, options?: LoadElementsOptions): LoadElementsReturnType<"img">;
/**
* Load the given source as an `