import { TypedMap } from './typed-map'; /** * COSE Header labels registered in the IANA "COSE Header Parameters" registry. * Reference: https://www.iana.org/assignments/cose/cose.xhtml#header-parameters */ export declare enum Headers { Algorithm = 1, Critical = 2, ContentType = 3, KeyID = 4, IV = 5, PartialIV = 6, CounterSignature = 7, CounterSignature0 = 9, CounterSignatureV2 = 11, CounterSignature0V2 = 12, X5Bag = 32, X5Chain = 33, X5T = 34, X5U = 35 } export declare enum Algorithms { EdDSA = -8, ES256 = -7, ES384 = -35, ES512 = -36, PS256 = -37, PS384 = -38, PS512 = -39, RS256 = -257, RS384 = -258, RS512 = -259 } export declare enum MacAlgorithms { HS256 = 5, HS384 = 6, HS512 = 7 } export declare enum EncryptionAlgorithms { A128GCM = 1, A192GCM = 2, A256GCM = 3, Direct = -6 } export type Direct = -6; export type SupportedEncryptionAlgorithms = 'A128GCM' | 'A192GCM' | 'A256GCM'; export declare const EncryptionAlgorithmNames: Map; export declare const MacAlgorithmNames: Map; export declare const AlgorithmNames: Map; export type SupportedAlgs = 'EdDSA' | 'ES256' | 'ES384' | 'ES512' | 'PS256' | 'PS384' | 'PS512' | 'RS256' | 'RS384' | 'RS512'; export declare class ProtectedHeaders extends TypedMap<[Headers.Algorithm, Algorithms] | [Headers.Critical, Headers[]] | [Headers.ContentType, number | Uint8Array] | [Headers.KeyID, Uint8Array] | [ Omit, Uint8Array | Uint8Array[] | number | number[] ]> { /** * Ensure input is a ProtectedHeaders instance. * * @param headers - The headers to wrap. * @returns */ static from(headers: ProtectedHeaders | ConstructorParameters[0]): ProtectedHeaders; /** * CBOR encode the hedaers instance * @returns {Uint8Array} - The encoded protected headers. */ encode(): Uint8Array; } export type SupportedMacAlg = 'HS256' | 'HS384' | 'HS512'; export declare class EncryptProtectedHeaders extends TypedMap<[Headers.Algorithm, EncryptionAlgorithms] | [Headers.Critical, Headers[]] | [Headers.ContentType, number | Uint8Array] | [Headers.KeyID, Uint8Array] | [ Omit, Uint8Array | number | number[] ]> { /** * Ensure input is a EncryptProtectedHeaders instance. * * @param headers - The headers to wrap. * @returns */ static from(headers: EncryptProtectedHeaders | ConstructorParameters[0]): EncryptProtectedHeaders | MacProtectedHeaders; } export declare class MacProtectedHeaders extends TypedMap<[Headers.Algorithm, MacAlgorithms] | [Headers.Critical, Headers[]] | [Headers.ContentType, number | Uint8Array] | [Headers.KeyID, Uint8Array] | [ Omit, Uint8Array | number | number[] ]> { /** * Ensure input is a MacProtectedHeaders instance. * * @param headers - The headers to wrap. * @returns */ static from(headers: MacProtectedHeaders | ConstructorParameters[0]): MacProtectedHeaders; } export declare class UnprotectedHeaders extends TypedMap<[Headers.ContentType, number | Uint8Array] | [Headers.KeyID, Uint8Array] | [Headers.IV, Uint8Array] | [Headers.PartialIV, Uint8Array] | [Headers.X5Chain, Uint8Array | Uint8Array[]] | [ Exclude, number | number[] | Uint8Array | Uint8Array[] ]> { /** * Ensure input is a MacProtectedHeaders instance. * * @param headers - The headers to wrap. * @returns */ static from(headers: UnprotectedHeaders | ConstructorParameters[0]): UnprotectedHeaders; } //# sourceMappingURL=headers.d.ts.map