import { PackMeta, ResourcePack, Resource, ResourceLocation } from "@xmcl/resourcepack"; interface ResourceSourceWrapper { source: ResourcePack; info: PackMeta.Pack; domains: string[]; } /** * The resource manager. Design to be able to use in both nodejs and browser environment. * @template T The type of the resource content. If you use this in node, it's probably `Buffer`. If you are in browser, it might be `string`. Just align this with your `ResourceSource` */ export declare class ResourceManager { private list; get allResourcePacks(): PackMeta.Pack[]; private cache; constructor(list?: Array); /** * Add a new resource source to the end of the resource list. */ addResourcePack(resourcePack: ResourcePack): Promise; /** * Clear all cache */ clearCache(): void; /** * Clear all resource source and cache */ clearAll(): void; /** * Swap the resource source priority. */ swap(first: number, second: number): void; /** * Invalidate the resource cache */ invalidate(location: ResourceLocation): void; load(location: ResourceLocation): Promise; load(location: ResourceLocation, urlOnly: false): Promise; load(location: ResourceLocation, urlOnly: true): Promise; private putCache; } export * from "./model-loader";