/// <reference types="node" />
import { Buffer } from 'buffer';
import { PublicKeyAlgorithm, KeyPair, RsaParameters } from '../publicKeyAlgorithm';
import { Signer, Verifier } from '../hmacAlgorithm';
declare class WebRsaKeyPair implements KeyPair {
    readonly hashAlgorithm: string;
    private static readonly defaultKeySize;
    get hasPublicKey(): boolean;
    get hasPrivateKey(): boolean;
    get keyAlgorithmName(): string;
    comment: string | null;
    generate(keySizeInBits?: number): Promise<void>;
    setPublicKeyBytes(keyBytes: Buffer): Promise<void>;
    getPublicKeyBytes(algorithmName?: string): Promise<Buffer | null>;
    importParameters(parameters: RsaParameters): Promise<void>;
    exportParameters(): Promise<RsaParameters>;
    dispose(): void;
}
export declare class WebRsa extends PublicKeyAlgorithm {
    static readonly keyAlgorithmName = "ssh-rsa";
    static readonly rsaWithSha256 = "rsa-sha2-256";
    static readonly rsaWithSha512 = "rsa-sha2-512";
    constructor(name: string, hashAlgorithmName: string);
    createKeyPair(): KeyPair;
    generateKeyPair(keySizeInBits?: number): Promise<KeyPair>;
    createSigner(keyPair: KeyPair): Signer;
    createVerifier(keyPair: KeyPair): Verifier;
    private static convertHashAlgorithmName;
    static readonly KeyPair: typeof WebRsaKeyPair;
}
export declare namespace WebRsa {
    type KeyPair = WebRsaKeyPair;
}
export {};
//# sourceMappingURL=webRsa.d.ts.map