import type { McpProject } from "./mcpProjectResolver"; export interface UlsApiKeyResolverConfig { /** ULS token endpoint URL (e.g. https://test.oauth.my.tomtom.com/token) */ ulsTokenEndpoint: string; /** Client ID identifying this app to ULS */ clientId: string; /** Target resource for the resolved API key */ resource: string; } /** * Resolves a TomTom API key by exchanging a user's JWT via the ULS token exchange endpoint. * * Uses RFC 8693 Token Exchange: * - grant_type: urn:ietf:params:oauth:grant-type:token-exchange * - subject_token_type: urn:ietf:params:oauth:token-type:jwt * - requested_token_type: urn:tomtom:uls:params:oauth:token-type:api_key */ export declare class UlsApiKeyResolver { private readonly ulsTokenEndpoint; private readonly clientId; private readonly resource; constructor(config: UlsApiKeyResolverConfig); /** * When mcpProject is given, the key is scoped to that project and product * bundle via scope URNs; ULS verifies the user's write permission on the * project and denies with access_denied otherwise. */ resolveApiKey(bearerToken: string, mcpProject?: McpProject): Promise; } //# sourceMappingURL=ulsApiKeyResolver.d.ts.map