/**
 * Key usages and allowed formats
 * @module
 */
export declare enum KeyFormats {
    raw = "raw",
    pkcs8 = "pkcs8",
    spki = "spki",
    jwk = "jwk"
}
export declare enum KeyUsages {
    encrypt = "encrypt",
    decrypt = "decrypt",
    sign = "sign",
    verify = "verify",
    deriveKey = "deriveKey",
    deriveBits = "deriveBits",
    wrapKey = "wrapKey",
    unwrapKey = "unwrapKey"
}
export declare type KeyUsagePair = [KeyUsage, KeyUsage];
export declare type EncryptionKeyUsagePair = [KeyUsages.encrypt, KeyUsages.decrypt];
export declare const EncryptionKeyUsagePair: KeyUsagePair;
export declare type SigningKeyUsagePair = [KeyUsages.sign, KeyUsages.verify];
export declare const SigningKeyUsagePair: KeyUsagePair;
export declare type WrappingKeyUsagePair = [KeyUsages.wrapKey, KeyUsages.unwrapKey];
export declare const WrappingKeyUsagePair: KeyUsagePair;
export declare type DeriveKeyUsagePair = [KeyUsages.deriveKey, KeyUsages.deriveBits];
export declare const DeriveKeyUsagePair: KeyUsagePair;
export declare type KeyUsagePairs = EncryptionKeyUsagePair | SigningKeyUsagePair | WrappingKeyUsagePair | DeriveKeyUsagePair;
/**
 * Given a algorithm, return the _most likely_ key usage pair.
 */
export declare function getKeyUsagePairsByAlg(alg: string): KeyUsagePair;
//# sourceMappingURL=key_usages.d.ts.map