/// <reference types="./phaser" />
import { Player } from "../entities/Player";
import { GameScene } from "./GameScene";
import { Mountain } from "../entities/Mountain";
import { TreeFactory } from "../entities/Tree";
import { FlagsFactory } from "../entities/Flags";
import { PlayButton } from "../entities/PlayButton";
import { GameOverContainer } from "../entities/GameOverContainer";
declare class PlayScene extends GameScene {
    player: Player | null;
    mountain: Mountain | null;
    rightWall: Phaser.GameObjects.TileSprite | null;
    trees: Phaser.Physics.Arcade.Group | null;
    flags: Phaser.Physics.Arcade.Group | null;
    flagsBadAreas: Phaser.Physics.Arcade.Group | null;
    treeFactory: TreeFactory;
    flagsFactory: FlagsFactory;
    gameOverText: Phaser.GameObjects.Image | undefined;
    restartText: Phaser.GameObjects.Image | undefined;
    playButton_: Phaser.GameObjects.Image | undefined;
    gameOverContainer: GameOverContainer | undefined;
    playButtonContainer: Phaser.GameObjects.Container | undefined;
    playButton: PlayButton | undefined;
    score: number;
    collectedFlags: number;
    scoreInterval: number;
    scoreDeltaTime: number;
    treeSpawnInterval: number;
    treeSpawnTime: number;
    flagsSpawnInterval: number;
    flagsSpawnTime: number;
    gameSpeed: number;
    gameSpeedModifier: number;
    cursors: Phaser.Types.Input.Keyboard.CursorKeys | undefined;
    isGameOverVisible: boolean;
    isPlayButtonVisible: boolean;
    progressSound: Phaser.Sound.HTML5AudioSound | undefined;
    progressSoundShiny: Phaser.Sound.HTML5AudioSound | undefined;
    lastTimeFlagCollected: number;
    flagCollectedInterval: number;
    constructor();
    create(): void;
    update(time: number, delta: number): void;
    createPlayer(): void;
    createMountain(): void;
    createRightWall(): void;
    createTrees(): void;
    createFlags(): void;
    createPlayButton(): void;
    createGameOverContainer(): void;
    spawnTree(): void;
    spawnFlags(): void;
    handleGameStart(): void;
    handleGameRestartSetup(): void;
    handleGameRestart(): void;
    handleRightWallCollision(): void;
    handleTreeCollisions(): void;
    handleFlagsCollisions(): void;
}
export default PlayScene;
