import { ExternalIdentifierDidOpts, ExternalIdentifierX5cOpts, IIdentifierResolution, ManagedIdentifierResult } from '@sphereon/ssi-sdk-ext.identifier-resolution';
import { JWK } from '@sphereon/ssi-types';
import { IAgentContext } from '@veramo/core';
import { CreateJwsCompactArgs, CreateJwsFlattenedArgs, CreateJwsJsonArgs, IJwsValidationResult, IRequiredContext, Jws, JwsCompact, JwsHeader, JwsIdentifierMode, JwsJsonFlattened, JwsJsonGeneral, JwsJsonGeneralWithIdentifiers, PreparedJwsObject, VerifyJwsArgs } from '../types/IJwtService';
export declare const prepareJwsObject: (args: CreateJwsJsonArgs, context: IRequiredContext) => Promise<PreparedJwsObject>;
export declare const createJwsCompact: (args: CreateJwsCompactArgs, context: IRequiredContext) => Promise<JwsCompact>;
export declare const createJwsJsonFlattened: (args: CreateJwsFlattenedArgs, context: IRequiredContext) => Promise<JwsJsonFlattened>;
export declare const createJwsJsonGeneral: (args: CreateJwsJsonArgs, context: IRequiredContext) => Promise<JwsJsonGeneral>;
/**
 * Updates the JWT header to include x5c, kid, jwk objects using the supplied issuer identifier that will be used to sign. If not present will automatically make the header objects available
 * @param mode The type of header to check or include
 * @param identifier The identifier of the signer. This identifier will be used later to sign
 * @param header The JWT header
 * @param noIdentifierInHeader
 * @param context
 */
export declare const checkAndUpdateJwsHeader: ({ mode, identifier, header, noIdentifierInHeader, }: {
    mode?: JwsIdentifierMode;
    identifier: ManagedIdentifierResult;
    noIdentifierInHeader?: boolean;
    header: JwsHeader;
}, context: IRequiredContext) => Promise<undefined>;
export declare const verifyJws: (args: VerifyJwsArgs, context: IAgentContext<IIdentifierResolution>) => Promise<IJwsValidationResult>;
export declare const toJwsJsonGeneral: ({ jws }: {
    jws: Jws;
}, context: IAgentContext<any>) => Promise<JwsJsonGeneral>;
export declare const toJwsJsonGeneralWithIdentifiers: (args: {
    jws: Jws;
    jwk?: JWK;
    opts?: {
        x5c?: Omit<ExternalIdentifierX5cOpts, "identifier">;
        did?: Omit<ExternalIdentifierDidOpts, "identifier">;
    };
}, context: IAgentContext<IIdentifierResolution>) => Promise<JwsJsonGeneralWithIdentifiers>;
//# sourceMappingURL=index.d.ts.map