/// <reference types="./phaser" />
import { Player } from '../entities/Player';
interface Exit {
    rect: Phaser.Geom.Rectangle;
    startX: number;
    startY: number;
    facing: string;
    scene: string;
    level: number;
}
declare class Level extends Phaser.Scene {
    gamepaused: Phaser.GameObjects.Image | undefined;
    player: Player | undefined;
    exits: Exit[];
    centerMap: Phaser.Tilemaps.Tilemap | undefined;
    level: number;
    stars: Phaser.Physics.Arcade.Group | null;
    score: number;
    constructor(config: Phaser.Types.Scenes.SettingsConfig);
    create(): void;
    postCreate(): void;
    addPlayer({ x, y }?: {
        x?: number | undefined;
        y?: number | undefined;
    }): void;
    addExit({ x, y, w, h, startX, startY, facing, scene, level }?: {
        x?: number | undefined;
        y?: number | undefined;
        w?: number | undefined;
        h?: number | undefined;
        startX?: number | undefined;
        startY?: number | undefined;
        facing?: string | undefined;
        scene?: string | undefined;
        level?: number | undefined;
    }): void;
    checkExits(): void;
    createStars(): void;
    handleStarCollisions(): void;
    leaveThroughExit({ startX, startY, facing, scene, level, }: Exit): void;
    resizeField(w: number, h: number): void;
    onGamePause(): void;
    onGameResume(): void;
    showGameOver(): void;
}
export default Level;
