export interface BrowserStackExtensionOptions { value?: string | string[]; values?: string | string[]; url?: string | string[]; urls?: string | string[]; cloudUrl?: string | string[]; mediaUrl?: string | string[]; mediaUrls?: string | string[]; id?: string | string[]; ids?: string | string[]; capabilityPath?: string; upload?: boolean | string; [key: string]: unknown; } export interface BrowserStackProviderOptions { env?: Record; username?: string; accessKey?: string; packageRoot?: string; cacheRoot?: string; keyPath?: string; remoteUrl?: string; wsEndpoint?: string; browserName?: string; browserVersion?: string; os?: string; osVersion?: string; project?: string; build?: string; name?: string; local?: boolean | string; seleniumVersion?: string; capabilities?: Record; extension?: BrowserStackExtensionOptions; extensionValue?: string | string[]; extensionValues?: string | string[]; extensionUrl?: string | string[]; extensionUrls?: string | string[]; extensionId?: string | string[]; extensionIds?: string | string[]; extensionCapabilityPath?: string; upload?: boolean | string; uploadUrl?: string; requireExtension?: boolean | string; playwright?: unknown; puppeteer?: unknown; seleniumWebDriver?: unknown; chromium?: unknown; connectOptions?: Record; contextOptions?: Record; connectTimeoutMs?: number; connectMode?: "cdp" | "playwright" | string; [key: string]: unknown; } export interface BrowserStackCredentials { username: string; accessKey: string; } export interface BrowserStackExtensionRegistration { source: string; capabilityPath?: string; values?: string[]; mediaUrl?: string; artifact?: unknown; } export interface BrowserStackCdpEndpoint { wsEndpoint: string; capabilities: Record | null; extension: BrowserStackExtensionRegistration; } export interface BrowserStackBrowserConnection { browser: TBrowser; page: TPage; capabilities: Record | null; extension: BrowserStackExtensionRegistration; framework: string; close(): Promise; } export interface BrowserStackPlaywrightConnection extends BrowserStackBrowserConnection { context: unknown; connectMode?: string; } export interface BrowserStackSeleniumConnection { driver: any; remoteUrl: string; capabilities: Record; framework: "selenium"; close(): Promise; } export function applyBrowserStackExtensionCapability(capabilities: Record, options?: BrowserStackProviderOptions): BrowserStackExtensionRegistration; export function browserStackCdpCapabilities(framework: "playwright" | "puppeteer" | string, options?: BrowserStackProviderOptions): { capabilities: Record; extension: BrowserStackExtensionRegistration; }; export function browserStackSeleniumRemoteUrl(options?: BrowserStackProviderOptions): string; export function browserStackWsEndpoint(framework: "playwright" | "puppeteer" | string, options?: BrowserStackProviderOptions): BrowserStackCdpEndpoint; export function connectBrowserStackPlaywright(options?: BrowserStackProviderOptions): Promise; export function connectBrowserStackPuppeteer(options?: BrowserStackProviderOptions): Promise; export function connectBrowserStackSelenium(options?: BrowserStackProviderOptions): Promise; export function inspectBrowserStackExtensionRuntime(connection: BrowserStackPlaywrightConnection | BrowserStackBrowserConnection): Promise<{ extensionTargetCount: number; extensionTargets: Array<{ type: string; origin: string }>; extensionLoaded: boolean; diagnosticError?: unknown; }>; export function createBrowserStackSeleniumCapabilities(options?: BrowserStackProviderOptions): Record; export function credentialsFromOptions(options?: BrowserStackProviderOptions): BrowserStackCredentials; export function resolveBrowserStackUploadMedia(options?: BrowserStackProviderOptions): BrowserStackExtensionRegistration; export function uploadBrowserStackExtension(artifact: unknown, credentials: BrowserStackCredentials, options?: BrowserStackProviderOptions): string; export function setBrowserStackSessionStatus(target: unknown, status: "passed" | "failed" | string, reason?: string): Promise; declare const api: unknown; export default api;