import { Gui } from './Gui'; import { RpgPlayer } from '../Player/Player'; import { InputOptions } from './InputForm'; export declare enum DialogPosition { Top = "top", Bottom = "bottom", Middle = "middle" } export type Choice = { text: string; value: T; }; /** Shared presentation options for text, choice, and input dialogs. */ export interface DialogBaseOptions { position?: DialogPosition; fullWidth?: boolean; autoClose?: boolean; tranparent?: boolean; typewriterEffect?: boolean; talkWith?: RpgPlayer; speaker?: string; face?: { id: string; expression: string; }; } /** * Dialog content. A dialog can contain choices or one typed input form, but not both. */ export type DialogOptions = DialogBaseOptions & ({ choices?: Choice[]; input?: never; } | { choices?: never; input: InputOptions; }); export declare class DialogGui extends Gui { private form?; private dialogData?; constructor(player: RpgPlayer); openDialog(message: string, options: DialogOptions): Promise; private submit; }