import { type KeyObject } from 'node:crypto';
export declare const RELAYAUTH_JWKS_URL_ENV = "RELAYAUTH_JWKS_URL";
export declare const RELAYAUTH_JWT_PRIVATE_KEY_PEM_ENV = "RELAYAUTH_JWT_PRIVATE_KEY_PEM";
export declare const RELAYAUTH_JWT_KID_ENV = "RELAYAUTH_JWT_KID";
export interface RsaPublicJwk {
    kty: string;
    n: string;
    e: string;
}
export interface LocalJwksSigningKey {
    privateKey: KeyObject;
    kid: string;
}
export interface LocalJwksKeyPair extends LocalJwksSigningKey {
    publicJwk: RsaPublicJwk;
}
export interface LocalJwks extends LocalJwksKeyPair {
    jwksUrl: string;
    shutdown: () => Promise<void>;
}
export declare function createLocalJwksKeyPair(): LocalJwksKeyPair;
export declare function exportPrivateKeyPem(privateKey: KeyObject): string;
export declare function importPrivateKeyPem(privateKeyPem: string): KeyObject;
export declare function createLocalJwks(): Promise<LocalJwks>;
//# sourceMappingURL=local-jwks.d.ts.map