/// import { JsonWebKey, KeyObject } from 'crypto'; declare type Algorithm = 'EdDSA' | 'RS256'; interface JWSProtectedHeader { alg: Algorithm; [K: string]: unknown; } interface JWSPayload { [K: string]: unknown; } interface JWS { sign: (protectedHeader: JWSProtectedHeader, payload: JWSPayload, key: KeyObject) => Promise; verify: (jws: string, key: KeyObject) => Promise; } export declare const jws: JWS; interface JWTPayload { iss?: string; sub?: string; aud?: string | string[]; jti?: string; nbf?: number; exp?: number; iat?: number; [K: string]: unknown; } export interface JWT { sign: (payload: JWTPayload) => Promise; } export declare const makeJWT: ({ jwk }: { jwk: JsonWebKey; }) => JWT; export declare type ExportJWK = (jwk: JsonWebKey) => JsonWebKey; export declare const exportJWK: ExportJWK; export {};