import { Resource, ResourceType } from './Resource'; import type { CrossOrigin } from './Def'; import { ProtectedEventEmitter } from './utils/ProtectedEventEmitter'; import { Debugger } from './utils/Debugger'; export interface ResourceManagerEvent { resourcecreated: { resource: Resource; }; } declare class ResourceManager extends Debugger implements ProtectedEventEmitter { #private; protected get debugName(): string; off(event: T, listener: (ev: ResourceManagerEvent[T]) => unknown, context?: unknown): this; on(event: T, listener: (ev: ResourceManagerEvent[T]) => unknown, context?: unknown): this; once(event: T, listener: (ev: ResourceManagerEvent[T]) => unknown, context?: unknown): this; private constructor(); get version(): number; static getInstance(): ResourceManager; createResourceIfNotExists(uri: string, type?: ResourceType, crossOrigin?: CrossOrigin): Resource; get [Symbol.toStringTag](): string; } export type { ResourceManager, Resource }; export { ResourceType }; export declare const getResourceManager: () => ResourceManager;