import NDK, { NDKEvent, NDKFilter, NDKNip46Signer, NDKNostrRpc, NDKRpcRequest, NDKRpcResponse, NDKSubscription } from '@nostr-dev-kit/ndk'; import { PrivateKeySigner } from './Signer'; declare class NostrRpc extends NDKNostrRpc { protected _ndk: NDK; protected _signer: PrivateKeySigner; protected requests: Set; private sub?; protected _useNip44: boolean; constructor(ndk: NDK, signer: PrivateKeySigner); subscribe(filter: NDKFilter): Promise; stop(): void; setUseNip44(useNip44: boolean): void; private isNip04; parseEvent(event: NDKEvent): Promise; parseNostrConnectReply(reply: any, secret: string): Promise; listen(nostrConnectSecret: string): Promise; connect(pubkey: string, token?: string, perms?: string): Promise; protected getId(): string; sendRequest(remotePubkey: string, method: string, params?: string[], kind?: number, cb?: (res: NDKRpcResponse) => void): Promise; protected setResponseHandler(id: string, cb?: (res: NDKRpcResponse) => void): Promise; protected createRequestEvent(id: string, remotePubkey: string, method: string, params?: string[], kind?: number): Promise; } export declare class IframeNostrRpc extends NostrRpc { private peerOrigin?; private iframePort?; private iframeRequests; constructor(ndk: NDK, localSigner: PrivateKeySigner, iframePeerOrigin?: string); subscribe(filter: NDKFilter): Promise; setWorkerIframePort(port: MessagePort): void; sendRequest(remotePubkey: string, method: string, params?: string[], kind?: number, cb?: (res: NDKRpcResponse) => void): Promise; } export declare class ReadyListener { origin: string; messages: string[]; promise: Promise; constructor(messages: string[], origin: string); wait(): Promise; } export declare class Nip46Signer extends NDKNip46Signer { private _userPubkey; private _rpc; constructor(ndk: NDK, localSigner: PrivateKeySigner, signerPubkey: string, iframeOrigin?: string); get userPubkey(): string; private setSignerPubkey; initUserPubkey(hintPubkey?: string): Promise; listen(nostrConnectSecret: string): Promise; connect(token?: string, perms?: string): Promise; setListenReply(reply: any, nostrConnectSecret: string): Promise; createAccount2({ bunkerPubkey, name, domain, perms }: { bunkerPubkey: string; name: string; domain: string; perms?: string; }): Promise; } export {};