export interface Config { camofoxUrl: string; apiKey?: string; defaultUserId: string; profilesDir: string; timeout: number; autoSave: boolean; transport: "stdio" | "http"; httpPort: number; httpHost: string; httpRateLimit: number; httpApiKey?: string; httpAllowedHosts?: string[]; defaultViewport?: { width: number; height: number; }; } export interface HealthResponse { ok: boolean; running?: boolean; browserConnected: boolean; version?: string; consecutiveFailures?: number; activeOps?: number; } export type GeoMode = "explicit-wins" | "proxy-locked"; export interface RawProxyOverride { host: string; port: string; username?: string; password?: string; } export interface CreateTabParams { userId: string; sessionKey: string; url?: string; preset?: string; locale?: string; timezoneId?: string; geolocation?: { latitude: number; longitude: number; }; viewport?: { width: number; height: number; }; proxyProfile?: string; proxy?: RawProxyOverride; geoMode?: GeoMode; } export interface PresetInfo { locale: string; timezoneId: string; geolocation?: { latitude: number; longitude: number; }; } export interface PresetsResponse { presets: Record; } export interface TabResponse { tabId: string; url: string; title?: string; } export interface NavigateResponse { url: string; title?: string; refsAvailable?: boolean; } export interface ClickParams { ref?: string; selector?: string; } export interface ClickResponse { success: boolean; navigated: boolean; refsAvailable?: boolean; } export interface SnapshotResponse { url: string; snapshot: string; refsCount: number; truncated?: boolean; totalChars?: number; hasMore?: boolean; nextOffset?: number | null; } export interface NavigationActionResponse { url: string; title?: string; refsAvailable?: boolean; } export interface YouTubeTranscriptResponse { status: string; transcript?: string; video_url?: string; video_id: string; video_title?: string; language?: string; total_words?: number; available_languages?: Array<{ code: string; name: string; kind: string; }>; message?: string; code?: number; } export interface LinkItem { text: string; href: string; } export interface LinkResponse { links: LinkItem[]; } export interface StatsResponse { visitedUrls?: string[]; [key: string]: unknown; } export interface ToggleDisplayResponse { ok: boolean; headless: boolean | "virtual"; message: string; userId: string; tabsInvalidated?: boolean; vncUrl?: string; } export interface TabInfo { tabId: string; url: string; createdAt: string; lastActivity: number; userId: string; sessionKey: string; visitedUrls: string[]; toolCalls: number; refsCount: number; } export type SearchEngine = "google" | "youtube" | "amazon" | "bing" | "duckduckgo" | "reddit" | "github" | "stackoverflow" | "wikipedia" | "twitter" | "linkedin" | "facebook" | "instagram" | "tiktok"; export interface ProfileCookie { name: string; value: string; domain: string; path: string; expires?: number; httpOnly?: boolean; secure?: boolean; sameSite?: string; [key: string]: unknown; } export interface ProfileMetadata { createdAt: string; updatedAt: string; lastUrl?: string | null; description?: string | null; cookieCount: number; } export interface Profile { version: 1; profileId: string; userId: string; cookies: ProfileCookie[]; metadata: ProfileMetadata; } //# sourceMappingURL=types.d.ts.map