import type { Filestore } from '../filestore';
export declare const maxRegions = 32768;
export interface MapFile {
    fileId: number;
    regionX: number;
    regionY: number;
    tileHeights: number[][][];
    tileSettings: Uint8Array[][];
    tileOverlayIds: Uint8Array[][];
    tileOverlayPaths: Uint8Array[][];
    tileOverlayOrientations: Uint8Array[][];
    tileUnderlayIds: Uint8Array[][];
}
export interface LandscapeObject {
    objectId: number;
    x: number;
    y: number;
    level: number;
    type: number;
    orientation: number;
}
export interface LandscapeFile {
    fileId: number;
    regionX: number;
    regionY: number;
    landscapeObjects: LandscapeObject[];
}
export interface Region {
    regionX: number;
    regionY: number;
    mapFile: MapFile;
    landscapeFile: LandscapeFile | null;
}
export interface XteaDefinition {
    archive: number;
    group: number;
    name_hash: number;
    name: string;
    mapsquare: number;
    key: [number, number, number, number];
}
export type TileArray = Uint8Array[][];
export declare class RegionStore {
    private fileStore;
    readonly xteas: {
        [key: number]: XteaDefinition;
    };
    private readonly regionIndex;
    constructor(fileStore: Filestore, xteas?: {
        [p: number]: XteaDefinition;
    });
    getMapKeys(regionX: number, regionY: number): number[];
    getRegion(regionX: number, regionY: number): Region | null;
    getLandscapeFile(regionX: number, regionY: number): LandscapeFile | null;
    getMapFile(regionX: number, regionY: number): MapFile | null;
}
