export type ClientBridgeArgument = T extends Element ? WebdriverIO.Element : T extends object ? { [K in keyof T]: ClientBridgeArgument; } : T; interface Browser { execute: (command: string, ...args: unknown[]) => Promise; } export declare class ClientBridge any>> { private _browser; private _script; private _namespace; static create any>>(browser: Browser, namespace: string, opts: { needsCompatLib?: boolean; }): Promise>; constructor(browser: Browser, script: string, namespace: string); call(name: K, args: ClientBridgeArgument>): Promise>; private _callCommand; private _clientMethodCommand; private _guardClientCall; private _inject; } export {};