/// <reference types="node" />
import { Buffer } from 'buffer';
import { PublicKeyAlgorithm, KeyPair, RsaParameters } from '../publicKeyAlgorithm';
import { Signer, Verifier } from '../hmacAlgorithm';
declare class NodeRsaKeyPair implements KeyPair {
    private static readonly defaultKeySize;
    get hasPublicKey(): boolean;
    get hasPrivateKey(): boolean;
    comment: string | null;
    get keyAlgorithmName(): string;
    generate(keySizeInBits?: number): Promise<void>;
    private generateNodeKeyPairObjects;
    private generateNodeKeyPairBuffers;
    private generateExternalKeyPair;
    setPublicKeyBytes(keyBytes: Buffer): Promise<void>;
    getPublicKeyBytes(algorithmName?: string): Promise<Buffer | null>;
    importParameters(parameters: RsaParameters): Promise<void>;
    exportParameters(): Promise<RsaParameters>;
    dispose(): void;
}
export declare class NodeRsa 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 NodeRsaKeyPair;
}
export {};
//# sourceMappingURL=nodeRsa.d.ts.map