import { EventTemplate, VerifiedEvent, verifyEvent } from "nostr-tools";
import { ISigner } from "../interop.js";
/**
 * A Signer for [amber](https://github.com/greenart7c3/Amber) clipboard API
 * @see https://github.com/greenart7c3/Amber/blob/master/docs/web-apps.md
 */
export declare class AmberClipboardSigner implements ISigner {
    /** If the signer is supported on this platform */
    static SUPPORTED: false | (() => Promise<string>);
    private pendingRequest;
    pubkey?: string;
    verifyEvent: typeof verifyEvent;
    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();
    private onVisibilityChange;
    private intentRequest;
    /** Reject the currently pending request */
    rejectPending(): void;
    /** Removes any event listeners created */
    destroy(): void;
    private checkSupport;
    getPublicKey(): Promise<string>;
    signEvent(draft: EventTemplate & {
        pubkey?: string;
    }): Promise<VerifiedEvent>;
    nip04Encrypt(pubkey: string, plaintext: string): Promise<string>;
    nip04Decrypt(pubkey: string, data: string): Promise<string>;
    nip44Encrypt(pubkey: string, plaintext: string): Promise<string>;
    nip44Decrypt(pubkey: string, data: string): Promise<string>;
    static createGetPublicKeyIntent(): string;
    static createSignEventIntent(draft: EventTemplate): string;
    static createNip04EncryptIntent(pubkey: string, plainText: string): string;
    static createNip04DecryptIntent(pubkey: string, ciphertext: string): string;
    static createNip44EncryptIntent(pubkey: string, plainText: string): string;
    static createNip44DecryptIntent(pubkey: string, ciphertext: string): string;
}
