///
import { EventEmitter } from 'events';
import type { RefObject } from 'react';
import WebView from 'react-native-webview';
import type { AppKitFrameTypes } from './AppKitFrameTypes';
import { AppKitWebview } from './AppKitWebview';
export declare class AppKitFrameProvider {
private webviewRef;
private projectId;
private metadata;
private email;
private username;
private rpcRequestHandler?;
private rpcSuccessHandler?;
private rpcErrorHandler?;
private onTimeout?;
webviewLoadPromise: Promise;
webviewLoadPromiseResolver: {
resolve: (value: undefined) => void;
reject: (reason?: unknown) => void;
} | undefined;
AuthView: () => import("react/jsx-runtime").JSX.Element | null;
Webview: typeof AppKitWebview;
private openRpcRequests;
events: EventEmitter;
constructor(projectId: string, metadata: AppKitFrameTypes.Metadata);
setWebviewRef(webviewRef: RefObject): void;
onMessage(event: AppKitFrameTypes.FrameEvent): void;
onWebviewLoaded(): void;
onWebviewLoadError(error: string): void;
setOnTimeout(callback: () => void): void;
getSecureSiteURL(): string;
getSecureSiteDashboardURL(): "https://secure.reown.com/dashboard";
getSecureSiteIconURL(): "https://secure.reown.com/images/favicon.png";
getEmail(): string | undefined;
getUsername(): string | undefined;
rejectRpcRequest(): void;
getEventEmitter(): EventEmitter<[never]>;
connectEmail(payload: AppKitFrameTypes.Requests['AppConnectEmailRequest']): Promise<{
action: "VERIFY_DEVICE" | "VERIFY_OTP";
}>;
connectDevice(): Promise;
connectSocial(uri: string): Promise<{
chainId: string | number;
email: string;
address: string;
accounts?: {
type: "eoa" | "smartAccount";
address: string;
}[] | undefined;
userName?: string | undefined;
}>;
getFarcasterUri(): Promise<{
url: string;
}>;
connectFarcaster(): Promise<{
userName: string;
}>;
connectOtp(payload: AppKitFrameTypes.Requests['AppConnectOtpRequest']): Promise;
isConnected(): Promise<{
isConnected: boolean;
}>;
getChainId(): Promise<{
chainId: number;
}>;
getSocialRedirectUri(payload: AppKitFrameTypes.Requests['AppGetSocialRedirectUriRequest']): Promise<{
uri: string;
}>;
updateEmail(payload: AppKitFrameTypes.Requests['AppUpdateEmailRequest']): Promise<{
action: "VERIFY_PRIMARY_OTP" | "VERIFY_SECONDARY_OTP";
}>;
updateEmailPrimaryOtp(payload: AppKitFrameTypes.Requests['AppUpdateEmailPrimaryOtpRequest']): Promise;
updateEmailSecondaryOtp(payload: AppKitFrameTypes.Requests['AppUpdateEmailSecondaryOtpRequest']): Promise<{
newEmail: string;
}>;
syncTheme(payload: AppKitFrameTypes.Requests['AppSyncThemeRequest']): Promise;
syncDappData(payload: AppKitFrameTypes.Requests['AppSyncDappDataRequest']): Promise;
getSmartAccountEnabledNetworks(): Promise<{
smartAccountEnabledNetworks: number[];
}>;
setPreferredAccount(type: AppKitFrameTypes.AccountType): Promise<{
type: "eoa" | "smartAccount";
address: string;
}>;
connect(payload?: AppKitFrameTypes.Requests['AppGetUserRequest']): Promise<{
chainId: number;
preferredAccountType: "eoa" | "smartAccount";
address: string;
smartAccountDeployed: boolean;
email?: string | null | undefined;
}>;
switchNetwork(chainId: number): Promise<{
chainId: number;
}>;
disconnect(): Promise;
request(req: AppKitFrameTypes.RPCRequest): Promise;
onRpcRequest(callback: (request: AppKitFrameTypes.RPCRequest) => void): void;
onRpcSuccess(callback: (response: AppKitFrameTypes.FrameEvent, request: AppKitFrameTypes.RPCRequest) => void): void;
onRpcError(callback: (error: Error) => void): void;
onIsConnected(callback: (response: AppKitFrameTypes.Responses['FrameGetUserResponse']) => void): void;
onNotConnected(callback: () => void): void;
onGetSmartAccountEnabledNetworks(callback: (response: AppKitFrameTypes.Responses['FrameGetSmartAccountEnabledNetworksResponse']) => void): void;
onSetPreferredAccount(callback: (response: AppKitFrameTypes.Responses['FrameSetPreferredAccountResponse']) => void): void;
getLastUsedChainId(): Promise;
private setNewLastEmailLoginTime;
private setSocialLoginSuccess;
private setEmailLoginSuccess;
private deleteLoginCache;
private setLastUsedChainId;
private persistSmartAccountEnabledNetworks;
private registerFrameEventHandler;
private appEvent;
private onFrameEvent;
private postAppEvent;
private loadAsyncValues;
}
//# sourceMappingURL=AppKitFrameProvider.d.ts.map