import type { AssetAdapter, AssetAdapterCapabilities, AssetDefinition, StandardAssetAdapters, StandardAssetResultMap } from './types.cjs'; type AdapterConstraint = { [TKey in keyof TAdapters]: TAdapters[TKey] extends AssetAdapter ? TDefinition extends AssetDefinition ? Extract extends TDefinition['type'] ? TDefinition['type'] extends Extract ? AssetAdapter : never : never : never : never; }; type UntypedAdapter = AssetAdapter; export declare function defineAssetAdapter(adapter: AssetAdapter): AssetAdapter; export declare class AssetLoaderRegistry { #private; readonly adapters: TAdapters; constructor(adapters: TAdapters & AdapterConstraint); get>(type: TKey): TAdapters[TKey] | undefined; get(type: string): UntypedAdapter | undefined; has(type: string): boolean; describe(): Readonly>; } export declare function createAssetLoaderRegistry(adapters: TAdapters & AdapterConstraint): AssetLoaderRegistry; /** Require an explicit implementation for every standard asset type without importing DOM APIs. */ export declare function createStandardAssetLoaderRegistry(adapters: StandardAssetAdapters): AssetLoaderRegistry>; export {};