import { Page } from "@playwright/test"; /** * Navigates from within a world or the join screen back to the setup screen. * Implements RFC 0008 transition logic. */ export declare function returnToSetup(page: Page, adminPassword?: string, _version?: string): Promise; /** * Extracts the pinned system version from a manifest URL. * Handles dnd5e (`release-5.2.5`) and pf2e (`pf2e-8.0.3`) URL conventions. */ export declare function extractVersionFromManifest(manifestUrl: string): string | null; /** * Reads the installed version of a game system from the Foundry setup screen. * Returns null if the system is not found or the version cannot be determined. * Must be called while the browser is on the setup screen. */ export declare function getInstalledSystemVersion(page: Page, systemId: string): Promise; export declare const SYSTEM_LABELS: Record; export interface FoundrySetupConfig { worldId?: string; systemId?: string; systemLabel?: string; systemManifest?: string; /** * Module ID(s) to ensure end up installed (via the package browser's * remote search, skipped if already present) and active. Independent of * how a module was actually installed - list an id here even if it was * installed via `moduleManifest` below, to have it activated. */ moduleId?: string | string[]; /** * Manifest URL(s) to install module(s) directly from, for modules not * available (or not desired) via the package browser's remote search. * Runs before `moduleId`'s installs. Only installs - list the module's * own id in `moduleId` too if it also needs to be activated. */ moduleManifest?: string | string[]; adminPassword?: string; userName?: string; password?: string; createWorld?: boolean; deleteIfExists?: boolean; version?: string; [key: string]: unknown; } /** * Performs full end-to-end setup of a Foundry VTT instance. */ export declare function foundrySetup(page: Page, config: FoundrySetupConfig): Promise; /** * Performs teardown of a Foundry VTT world. */ export declare function foundryTeardown(page: Page, config: FoundrySetupConfig): Promise; /** * Logs into a Foundry VTT world as a specific user. */ export declare function loginAs(page: Page, userName: string, password?: string): Promise;