import { JsonWebKeyParameters } from '../jwk/jsonwebkey.parameters';
import { JsonWebSignatureAlgorithm } from './algorithms/jsonwebsignature.algorithm';
import { SupportedJsonWebSignatureAlgorithm } from './algorithms/types/supported-jsonwebsignature-algorithm';
import { JsonWebSignatureHeaderParameters } from './jsonwebsignature.header.parameters';
/**
 * Implementation of the JSON Web Signature Header.
 *
 * @see https://www.rfc-editor.org/rfc/rfc7515.html#section-4
 */
export declare class JsonWebSignatureHeader implements JsonWebSignatureHeaderParameters {
    /**
     * Supported JSON Web Signature Algorithms.
     */
    private static readonly algorithms;
    /**
     * JSON Web Signature Algorithm used by the JSON Web Signature Header.
     */
    readonly algorithm: JsonWebSignatureAlgorithm;
    /**
     * JSON Web Signature Algorithm used to Sign and Verify the Token.
     */
    readonly alg: SupportedJsonWebSignatureAlgorithm;
    /**
     * URI of a Set of Public JSON Web Keys that contains the JSON Web Key used to Sign the Token.
     */
    readonly jku?: string;
    /**
     * JSON Web Key used to Sign the Token.
     */
    readonly jwk?: JsonWebKeyParameters;
    /**
     * Identifier of the JSON Web Key used to Sign the Token.
     */
    readonly kid?: string;
    /**
     * URI of the X.509 certificate of the JSON Web Key used to Sign the Token.
     */
    readonly x5u?: string;
    /**
     * Chain of X.509 certificates of the JSON Web Key used to Sign the Token.
     */
    readonly x5c?: string[];
    /**
     * SHA-1 Thumbprint of the X.509 certificate of the JSON Web Key used to Sign the Token.
     */
    readonly x5t?: string;
    /**
     * SHA-256 Thumbprint of the X.509 certificate of the JSON Web Key used to Sign the Token.
     */
    readonly 'x5t#S256'?: string;
    /**
     * Defines the type of the Token.
     */
    readonly typ?: string;
    /**
     * Defines the type of the Payload of the Token.
     */
    readonly cty?: string;
    /**
     * Defines the parameters that MUST be present in the JOSE Header.
     */
    readonly crit?: string[];
    /**
     * Additional JSON Web Signature Header Parameters.
     */
    readonly [parameter: string]: any;
    /**
     * Instantiates a new JSON Web Signature Header based on the provided Parameters.
     *
     * @param parameters JSON Web Signature Header Parameters.
     */
    constructor(parameters: JsonWebSignatureHeaderParameters);
}
