import type { Request } from "./request";
export interface GetOpenIdConfigParams {
    identityServiceUrl: string;
    /** When set, discovery endpoint URLs are rewritten to this base. */
    gatewayIdentityServiceUrl?: string;
    openIdConfigCacheTtlMs: number;
    request: Request;
}
/**
 * Creates a getOpenIdConfig function that fetches the OIDC discovery document with optional
 * URL rewriting for gateway use. Uses @isaacs/ttlcache for TTL-based caching when openIdConfigCacheTtlMs > 0.
 *
 * @param {GetOpenIdConfigParams} params - Configuration: identityServiceUrl, optional gatewayIdentityServiceUrl, openIdConfigCacheTtlMs, and the request function used to fetch the discovery document
 * @returns {function(): Promise<Record<string, unknown>>} A function that returns a promise of the discovery document (with endpoint URLs rewritten to gatewayIdentityServiceUrl only when that option is set)
 */
export declare function createGetOpenIdConfig(params: GetOpenIdConfigParams): () => Promise<Record<string, unknown>>;
//# sourceMappingURL=oidc-config.d.ts.map