import type { Browser } from "./browser.js"; import { type RequestedLanguageState, type RequestedThemeState } from "./session-profile.js"; import type { AgentResult, LoginCredentials, StepUsage, ValidatedSessionProfile, VideoPageSignals } from "./types.js"; import { type ScreenshotSelectorMemoryUpdate } from "./capture-selector-memory.js"; interface LanguageObservation { currentUrl: string; signals: VideoPageSignals | null; languageState: RequestedLanguageState | null; themeState: RequestedThemeState | null; } export interface ScreenshotLanguagePreflightResult { ok: boolean; resolvedBy: "already_active" | "deterministic_repair" | "language_preflight_agent" | "blocked"; observation: LanguageObservation; usage: StepUsage[]; selectorUpdates: ScreenshotSelectorMemoryUpdate[]; rebasedToStartUrl: boolean; reason?: string; } export declare function ensureScreenshotVariantLanguage(params: { browser: Browser; requestedLang: string; requestedTheme: "light" | "dark"; startUrl?: string; profile?: ValidatedSessionProfile; credentials?: LoginCredentials; selectorMemory?: Record; langInstructions?: string; themeInstructions?: string; onLog?: (message: string) => void; performRepair?: () => Promise<{ repaired: boolean; updates: ScreenshotSelectorMemoryUpdate[]; } | null>; rebaseToStartUrl?: (currentUrl: string, startUrl: string) => Promise; runLanguageSwitchAgent?: (state: { languageState: RequestedLanguageState | null; themeState: RequestedThemeState | null; }) => Promise; }): Promise; export {};