import type { SupabaseClient } from '@supabase/supabase-js'; export interface ScreenshotSelectorMemoryUpdate { stepSignature: string; selector: string; source: 'agent' | 'deterministic' | 'manual'; success: boolean; } /** Map a viewport width to a device category for selector memory scoping. */ export declare function getViewportCategory(width: number): 'mobile' | 'tablet' | 'desktop'; export declare function loadScreenshotSelectorMemory(supabase: SupabaseClient, params: { projectId: string | null; presetId?: string | null; domain: string; lang: string; theme: 'light' | 'dark'; /** Optional viewport width — when provided, filters selectors by viewport category. */ viewportWidth?: number | null; }): Promise>; export declare function persistScreenshotSelectorMemoryUpdates(supabase: SupabaseClient, params: { projectId: string | null; presetId?: string | null; domain: string; lang: string; theme: 'light' | 'dark'; viewportWidth?: number | null; }, updates: ScreenshotSelectorMemoryUpdate[]): Promise; export declare function extractSelectorUpdates(actions: Array<{ action: string; params: Record; success: boolean; }>): ScreenshotSelectorMemoryUpdate[];