/// <reference types="./phaser" />
interface TileType {
    top: boolean;
    right: boolean;
    bottom: boolean;
    left: boolean;
}
interface Cell {
    x: number;
    y: number;
    top: boolean;
    right: boolean;
    bottom: boolean;
    left: boolean;
    type: number;
    set: number;
}
type MazeType = Cell[][];
declare class MazePlugin extends Phaser.Plugins.BasePlugin {
    tileTypes: TileType[];
    topLeftMapping: number[];
    bottomRightMapping: number[];
    maze: MazeType;
    gridWidth: number;
    gridHeight: number;
    constructor(pluginManager: Phaser.Plugins.PluginManager);
    start(): void;
    generate(w: number, h: number, seed?: number): MazeType;
    openTopLeft(): void;
    openBottomRight(): void;
    createMapData({ key, shardW, shardH, layer }?: {
        key?: string | undefined;
        shardW?: number | undefined;
        shardH?: number | undefined;
        layer?: number | undefined;
    }): number[][];
}
export default MazePlugin;
