import { Scene } from "phaser";
import { Label } from "../ui/Label";
import { Checkbox } from "../ui/Checkbox";
import { Slider } from "../ui/Slider";
import { VolumeSlider } from "../ui/VolumeSlider";
import { CheckboxGroup } from "../ui/CheckboxGroup";
import { Dialog } from "../ui/Dialog";
import { Image } from "../ui/Image";
import { Text } from "../ui/Text";
import { Container } from "../ui/Container";
import { RoundedButton } from "../ui/RoundedButton";
import { TextButton } from "../ui/TextButton";
import { ImageButton } from "../ui/ImageButton";
import { BaseConfig, ButtonConfig, CheckboxConfig, CheckboxGroupConfig, DialogConfig, ImageButtonConfig, ImageConfig, LabelConfig, LinearLayoutConfig, RoundedButtonConfig, SliderConfig, TabsConfig, TextBoxConfig, TextConfig, ToastConfig, ScrollViewConfig, VolumeSliderConfig, PanelConfig, GridConfig, SpriteConfig, ConnectWalletButtonConfig, ProgressBarConfig, ListViewConfig, JoystickConfig, ConnectSOLWalletButtonConfig, ConnectEVMWalletButtonConfig } from '../types';
import { BaseScene } from "../game";
import { TextBox } from "../ui/TextBox";
import { Tabs } from "../ui/Tabs";
import { TextArea } from "../ui/TextArea";
import { Toast } from "../ui/Toast";
import { LinearLayout } from "../ui/LinearLayout";
import { ScrollView } from "../ui/ScrollView";
import { Panel } from "../ui/Panel";
import { ProgressBar } from "../ui/ProgressBar";
import { Grid } from "../ui/Grid";
import { Sprite } from "../ui/Sprite";
import { DropdownMenu } from "../ui/DropdownMenu";
import { ConnectWalletButton } from "../ui/ConnectWalletButton";
import { DropdownMenuConfig } from "../ui/DropdownMenu";
import { ListView } from "../ui";
import { Joystick } from "../ui/Joystick";
import { ConnectSOLWalletButton } from "../ui/ConnectSOLWalletButton";
import { ConnectEVMWalletButton } from "../ui/ConnectEVMWalletButton";
import { EnemyContainer } from "../ui/EnemyContainer";
type Constructor<T extends Phaser.GameObjects.GameObject> = new (...args: any[]) => T;
declare class ObjectFactory {
    private scene;
    private displayList?;
    private updateList?;
    private addToScene;
    constructor(scene: BaseScene, addToScene: boolean);
    destroy(): void;
    createGameObject<T extends Phaser.GameObjects.GameObject, C extends BaseConfig>(ctor: Constructor<T>, scene: Scene, config: C): T;
    container(config: BaseConfig): Container;
    imageButton(config: ImageButtonConfig): ImageButton;
    roundedButton(config: RoundedButtonConfig): RoundedButton;
    textButton(config: ButtonConfig): TextButton;
    image(config: ImageConfig): Image;
    text(config: TextConfig): Text;
    panel(config: PanelConfig): Panel;
    label(config: LabelConfig): Label;
    checkbox(config: CheckboxConfig): Checkbox;
    checkboxGroup(config: CheckboxGroupConfig): CheckboxGroup;
    progressBar(config: ProgressBarConfig): ProgressBar;
    slider(config: SliderConfig): Slider;
    volumeSlider(config: VolumeSliderConfig): VolumeSlider;
    dialog(config: DialogConfig): Dialog;
    tabs(config: TabsConfig): Tabs;
    textBox(config: TextBoxConfig): TextBox;
    textArea(config: TextBoxConfig): TextArea;
    toast(config: ToastConfig): Toast;
    grid(config: GridConfig): Grid;
    linearLayout(config: LinearLayoutConfig): LinearLayout;
    listView(config: ListViewConfig): ListView;
    scrollView(config: ScrollViewConfig): ScrollView;
    sprite(config: SpriteConfig): Sprite;
    connectWalletButton(config: ConnectWalletButtonConfig): ConnectWalletButton;
    connectSOLWalletButton(config: ConnectSOLWalletButtonConfig): ConnectSOLWalletButton;
    connectEVMWalletButton(config: ConnectEVMWalletButtonConfig): ConnectEVMWalletButton;
    dropdownMenu(config: DropdownMenuConfig): DropdownMenu;
    joystick(config: JoystickConfig): Joystick;
    enemyContainer(config: BaseConfig): EnemyContainer;
}
export default ObjectFactory;
//# sourceMappingURL=ObjectFactory.d.ts.map