import { Tile } from './tile';
export type TileCacheOptions = {
    onTileLoad?: (tile: Tile) => void;
    onTileUnload?: (tile: Tile) => void;
};
export declare class TileCache {
    private options;
    private cacheNodeMap;
    private list;
    private sentinel;
    constructor(options?: TileCacheOptions);
    reset(): void;
    touchTile(tile: Tile): void;
    loadTile(tile: Tile): void;
    unloadTile(tile: Tile): void;
    unloadTiles(isOverMemory: () => boolean): void;
    toArray(): Tile[];
}
