///
import type { UserOfAuthenticator, ContextOfAuthenticator } from '@sociably/auth';
import { ClientEmitter } from '@sociably/websocket/client';
import WebviewConnection from '../Connection.js';
import type { EventInput, EventValue, ConnectEventValue, DisconnectEventValue, AnyClientAuthenticator } from '../types.js';
import type { ClientEventContext, ClientOptions } from './types.js';
declare class WebviewClient extends ClientEmitter> {
private _authClient;
private _connector;
private _platformInput;
private _user;
private _thread;
isMockupMode: boolean;
get isConnected(): boolean;
get isClosed(): boolean;
get user(): null | UserOfAuthenticator;
get thread(): null | WebviewConnection;
get authContext(): null | ContextOfAuthenticator;
get platform(): string | undefined;
constructor({ webSocketUrl, platform, authPlatforms, authApiUrl, mockupMode, }: ClientOptions);
send(content: EventInput | EventInput[]): Promise;
close(code?: number, reason?: string): void;
/**
* Try close the webview. Return whether it's supported by current platform
*/
closeWebview(): boolean;
private _getLoginAuth;
private _handleConnect;
private _handleEvent;
private _handleDisconnect;
}
export default WebviewClient;