import { EventTemplate, VerifiedEvent } from "nostr-tools";
import { ISigner } from "../interop.js";
/** AN error that is throw when the window.nostr extension is missing */
export declare class ExtensionMissingError extends Error {
}
/** A signer that is a proxy for window.nostr */
export declare class ExtensionSigner implements ISigner {
    get nip04(): {
        encrypt: (pubkey: string, plaintext: string) => Promise<string>;
        decrypt: (pubkey: string, ciphertext: string) => Promise<string>;
    } | undefined;
    get nip44(): {
        encrypt: (pubkey: string, plaintext: string) => Promise<string>;
        decrypt: (pubkey: string, ciphertext: string) => Promise<string>;
    } | undefined;
    protected pubkey: string | undefined;
    getPublicKey(): Promise<string>;
    signEvent(template: EventTemplate): Promise<VerifiedEvent>;
}
