/// <reference types="filesystem" />
import JSZip = require("jszip");
import { AnvilParser } from "..";
import { Coordinate3D } from "../anvil/types";
import { RegionFile } from "./types";
export declare function isValidRegionFileName(name: string): boolean;
export declare function parseRegionName(name: string): {
    x: number;
    z: number;
};
export declare class SaveParser {
    private root;
    private cachedRegions;
    private dirtyRegions;
    constructor(root: DirectoryEntry);
    getRegions(): Promise<RegionFile[]>;
    getLevel(): Promise<FileEntry>;
    getRegionFileContainingCoordinate(coordinate: Coordinate3D): Promise<RegionFile | undefined>;
    getAnvilParserByCoordinate(coordinate: Coordinate3D): Promise<AnvilParser | undefined>;
    setBlock(coordinates: Coordinate3D, name: string, properties: {
        [key: string]: string;
    }): Promise<void>;
    getBlock(coordinates: Coordinate3D): Promise<{
        name: string;
        properties: {
            [key: string]: string;
        };
    } | undefined>;
    asZip(): Promise<JSZip>;
}
