import { Info } from 'nostr-login-components/dist/types/types'; export interface Signer { signEvent: (event: any) => Promise; nip04: { encrypt: (pubkey: string, plaintext: string) => Promise; decrypt: (pubkey: string, ciphertext: string) => Promise; }; nip44: { encrypt: (pubkey: string, plaintext: string) => Promise; decrypt: (pubkey: string, ciphertext: string) => Promise; }; } export interface NostrObjectParams { waitReady(): Promise; getUserInfo(): Info | null; launch(): Promise; getSigner(): Signer; wait(cb: () => Promise): Promise; } declare class Nostr { #private; private nip04; private nip44; constructor(params: NostrObjectParams); private ensureAuth; getPublicKey(): Promise; signEvent(event: any): Promise; getRelays(): Promise<{}>; encrypt04(pubkey: string, plaintext: string): Promise; decrypt04(pubkey: string, ciphertext: string): Promise; encrypt44(pubkey: string, plaintext: string): Promise; decrypt44(pubkey: string, ciphertext: string): Promise; } export default Nostr;