@gemini-wallet/core
Version:
Core SDK for Gemini Wallet integration with popup communication
20 lines • 932 B
TypeScript
import { type AppMetadata, type GeminiSdkMessage, type GeminiSdkMessageResponse } from "./types";
type CommunicatorConfigParams = {
appMetadata: AppMetadata;
onDisconnectCallback?: () => void;
};
export declare class Communicator {
private readonly appMetadata;
private readonly url;
private popup;
private listeners;
private onDisconnectCallback?;
constructor({ appMetadata, onDisconnectCallback }: CommunicatorConfigParams);
postMessage: (message: GeminiSdkMessage) => Promise<void>;
postRequestAndWaitForResponse: <M extends GeminiSdkMessage, R extends GeminiSdkMessageResponse>(request: GeminiSdkMessage) => Promise<R>;
onMessage: <M extends GeminiSdkMessage, R extends GeminiSdkMessageResponse>(predicate: (_: Partial<M>) => boolean) => Promise<R>;
private onRequestCancelled;
waitForPopupLoaded: () => Promise<Window>;
}
export {};
//# sourceMappingURL=communicator.d.ts.map