///
import EventEmitter from 'events';
import { Event, Kind, nip26 } from 'nostr-tools';
import { SignPSBTResponse } from '@smontero/nostr-ual-common';
import { NostrRPC } from './rpc';
export interface Metadata {
name: string;
url?: string;
description?: string;
icons?: string[];
}
export declare enum TimeRanges {
FIVE_MINS = "5mins",
ONE_HR = "1hour",
ONE_DAY = "1day",
ONE_WEEK = "1week",
ONE_MONTH = "1month",
ONE_YEAR = "1year"
}
export declare const TimeRangeToUnix: Record;
export declare class ConnectURI {
target: string;
metadata: Metadata;
relay: string;
static fromURI(uri: string): ConnectURI;
constructor({ target, metadata, relay, }: {
target: string;
metadata: Metadata;
relay: string;
});
toString(): string;
approve(secretKey: string): Promise;
reject(secretKey: string): Promise;
}
export declare class Connect {
rpc: NostrRPC;
target?: string;
events: EventEmitter;
constructor({ target, relay, secretKey, }: {
secretKey: string;
target?: string;
relay: string;
});
init(): Promise;
on(evt: 'connect' | 'disconnect', cb: (...args: any[]) => void): void;
off(evt: 'connect' | 'disconnect', cb: (...args: any[]) => void): void;
isConnected(): boolean;
assertIsConnected(): void;
getTarget(): string;
disconnect(): Promise;
getPublicKey(): Promise;
signEvent(event: {
kind: Kind;
tags: string[][];
pubkey: string;
content: string;
created_at: number;
}): Promise;
signPSBT(network: string, psbt: string, descriptor?: string): Promise;
describe(): Promise;
delegate(delegatee: string | undefined, conditions: {
kind?: number;
until?: number | TimeRanges;
since?: number | TimeRanges;
}): Promise;
getRelays(): Promise<{
[url: string]: {
read: boolean;
write: boolean;
};
}>;
nip04: {
encrypt: (pubkey: string, plaintext: string) => Promise;
decrypt: (pubkey: string, ciphertext: string) => Promise;
};
private disconnectRelays;
private request;
}