/**
 * Code related to RSASSA_PKCS1_v1_5
 * @module
 */
import * as params from "../params.js";
import { RsassaPkcs1V15PrivCryptoKey, RsassaPkcs1V15ProxiedCryptoKeyPair, RsassaPkcs1V15ProxiedPrivCryptoKey, RsassaPkcs1V15ProxiedPubCryptoKey, RsassaPkcs1V15PubCryptoKey } from "./shared.js";
/**
 * Generate a new RSASSA_PKCS1_v1_5 keypair
 * @example
 * ```ts
 * const keyPair = await RSASSA_PKCS1_v1_5.generateKey();
 * ```
 */
export declare const generateKey: (algorithm?: Omit<params.EnforcedRsaHashedKeyGenParams, "name">, extractable?: boolean, keyUsages?: KeyUsage[]) => Promise<RsassaPkcs1V15ProxiedCryptoKeyPair>;
/**
 * Generate a new RSASSA_PKCS1_v1_5 keypair
 * @alias generateKey
 * @example
 * ```ts
 * const keyPair = await RSASSA_PKCS1_v1_5.generateKeyPair();
 * ```
 */
export declare const generateKeyPair: (algorithm?: Omit<params.EnforcedRsaHashedKeyGenParams, "name">, extractable?: boolean, keyUsages?: KeyUsage[]) => Promise<RsassaPkcs1V15ProxiedCryptoKeyPair>;
/**
 * Import an RSASSA_PKCS1_v1_5 public or private key
 * @example
 * ```ts
 * const key = await RSASSA_PKCS1_v1_5.importKey("jwk", pubKey, { hash: "SHA-512" }, true, ['verify']);
 * ```
 */
export declare const importKey: (format: KeyFormat, key: BufferSource | JsonWebKey, algorithm: Omit<params.EnforcedRsaHashedImportParams, "name">, extractable?: boolean, keyUsages?: KeyUsage[]) => Promise<RsassaPkcs1V15ProxiedPubCryptoKey | RsassaPkcs1V15ProxiedPrivCryptoKey>;
/**
 * Export an RSASSA_PKCS1_v1_5 public or private key
 * @example
 * ```ts
 * const pubKeyJwk = await RSASSA_PKCS1_v1_5.importKey("jwk", keyPair.publicKey.self);
 * ```
 * @example
 * ```ts
 * const pubKeyJwk = await keyPair.publicKey.importKey("jwk");
 * ```
 */
export declare const exportKey: (format: KeyFormat, key: RsassaPkcs1V15PubCryptoKey | RsassaPkcs1V15PrivCryptoKey) => Promise<ArrayBuffer | JsonWebKey>;
/**
 * Sign a given payload
 * @example
 * ```ts
 * const message = new TextEncoder().encode("a message");
 * const signature = await RSASSA_PKCS1_v1_5.sign(keyPair.privateKey.self, message);
 * ```
 * @example
 * ```ts
 * const message = new TextEncoder().encode("a message");
 * const signature = await keyPair.privateKey.sign(message);
 * ```
 */
export declare const sign: (key: RsassaPkcs1V15PrivCryptoKey, data: BufferSource) => Promise<ArrayBuffer>;
/**
 * Verify a given signature
 * @example
 * ```ts
 * const message = new TextEncoder().encode("a message");
 * const isVerified = await RSASSA_PKCS1_v1_5.verify(keyPair.publicKey.self, signature, message);
 * ```
 * @example
 * ```ts
 * const message = new TextEncoder().encode("a message");
 * const isVerified = await keyPair.publicKey.verify( signature, message);
 * ```
 */
export declare const verify: (key: RsassaPkcs1V15PubCryptoKey, signature: BufferSource, data: BufferSource) => Promise<boolean>;
//# sourceMappingURL=rsassa_pkcs1_v1_5.d.ts.map