export type AssetLoader = (key: string) => Promise; export type AssetLoaderImpls> = { [key in keyof Assets]: AssetLoader; }; export declare class Assets> { private _loaders; private handlePool; private handles; constructor(_loaders: AssetLoaderImpls); load: (loader: LoaderName, key: string) => Promise; immediate: (loader: LoaderName, key: string) => Loaders[LoaderName] | null; private getKey; }