import { VerifiedEvent } from "nostr-tools";
import { ISigner } from "../interop.js";
/** A signer that only implements getPublicKey and throws on ever other method */
export declare class ReadonlySigner implements ISigner {
    private pubkey;
    nip04: {
        encrypt: (pubkey: string, plaintext: string) => Promise<string>;
        decrypt: (pubkey: string, ciphertext: string) => Promise<string>;
    };
    nip44: {
        encrypt: (pubkey: string, plaintext: string) => Promise<string>;
        decrypt: (pubkey: string, ciphertext: string) => Promise<string>;
    };
    constructor(pubkey: string);
    getPublicKey(): Promise<string>;
    signEvent(): Promise<VerifiedEvent>;
    nip04Encrypt(): Promise<string>;
    nip04Decrypt(): Promise<string>;
    nip44Encrypt(): Promise<string>;
    nip44Decrypt(): Promise<string>;
    /** Creates a ReadonlySigner from a hex public key or NIP-19 npub */
    static fromPubkey(pubkey: string): ReadonlySigner;
}
