import { AbsResourceInstance } from "./AbsResourceInstance";
import { IResourceInfo, ISVGResourceInfo } from "./IResourceInfo";
import { PasteMeta, ResourceInfo } from "../common";
import { DocState } from "@/app";
export declare class ResourceManager {
    resourceMap: Map<string, IResourceInfo>;
    nodeResourceMap: Map<string, IResourceInfo>;
    svgMap: Map<string, string>;
    private svgBlobMap;
    docState: DocState;
    instance: AbsResourceInstance;
    constructor(docState: DocState);
    reset(): void;
    loadResourceInstance(resourceInstance: AbsResourceInstance): void;
    private makeSvgBlobUrlKey;
    setSvgInfo(svgCode: string, resourceInfo: ISVGResourceInfo, width: number, height: number): void;
    getSVGBlobUrl(svgCode: string, width: number, height: number): ISVGResourceInfo | undefined;
    getBlobUrl(fileKey: string): string;
    getImgUrls(): string[];
    addNodeResourceInfo(nodeId: string, info: IResourceInfo): void;
    removeNodeResourceInfo(nodeId: string): void;
    loadImgUrl(fileKey: string): Promise<IResourceInfo>;
    uploadFileBlob(fileName: string, file: File | Blob): Promise<string>;
    loadSvgUrl(fileKey: string): Promise<string>;
    uploadSvgFile(fileName: string, file: File): Promise<string>;
    uploadSvgString(fileName: string, svgContent: string): Promise<string>;
    deleteMultipleImages(fileKeys: string[]): Promise<void>;
    copyImage(resourceInfo: ResourceInfo[], currentDocId: string, meta: PasteMeta): Promise<import("./resourceTypes").ICopyResourceInfo>;
}
//# sourceMappingURL=ResourceManager.d.ts.map