import { BuilderElement } from '@builder6/sdk';
import React, { Component } from 'react';
type AssetPackage = {
    package: string;
    urls: string[];
    library: string;
};
type AssetComponent = {
    url: string;
    exportName?: string;
    npm?: {
        package: string;
        exportName: string;
    };
};
type AssetConfig = {
    packages?: AssetPackage[];
    components?: AssetComponent[];
};
export declare class AssetsLoaderClass {
    static remoteAssets: Record<string, string>;
    static packages: Record<string, AssetPackage>;
    static unpkgUrl: string;
    static componentWrapper: Function;
    static registerRemoteAssets(assetUrls: string[], unpkgUrl: any): Promise<void>;
    static registerAssets(assets: AssetConfig): Promise<void>;
    static registerMeta: (meta: any) => void;
    static injectScript(src: string): Promise<void>;
    static injectCSS(href: string): void;
}
type AssetsLoaderComponentProps = {
    builderBlock?: BuilderElement;
    urls: string[];
    unpkgUrl: string;
    children?: React.ReactNode;
};
type AssetsLoaderComponentState = {
    assetsLoaded: boolean;
};
export declare class AssetsLoaderComponent extends Component<AssetsLoaderComponentProps, AssetsLoaderComponentState> {
    constructor(props: AssetsLoaderComponentProps);
    componentDidMount(): Promise<void>;
    componentDidUpdate(prevProps: AssetsLoaderComponentProps): Promise<void>;
    loadAssets(): Promise<void>;
    render(): React.JSX.Element;
}
export declare const AssetsLoader: Function;
export {};
