import type { TokenRequestOptions, TokenScope } from "./token-manager.js"; export interface ProxyTokenResolutionConfig { apiClientId: string; apiClientSecret: string; apiToken?: string; } export interface ProxyTokenManager { getToken(scope: TokenScope, projectSlug?: string, customDomain?: string, options?: TokenRequestOptions): Promise; } export interface ProxyTokenResolutionLogger { debug: (msg: string, extra?: Record) => void; info: (msg: string, extra?: Record) => void; warn: (msg: string, extra?: Record) => void; error: (msg: string, error?: unknown, extra?: Record) => void; } export interface ResolveProxyRequestTokenOptions { req: Request; url: URL; scope: TokenScope; host: string; projectSlug: string | undefined; config: ProxyTokenResolutionConfig; tokenManager: ProxyTokenManager; logger?: ProxyTokenResolutionLogger; allowSignedInternalControlPlaneToken?: boolean; signedInternalControlPlaneRequest?: boolean; tokenStrategy?: "preview-user-first" | "service-first"; tokenFetchErrorMessage: string; } export interface ResolvedProxyRequestToken { token?: string; tokenSource?: "signed-internal" | "user" | "service" | "static"; userToken?: string; tokenFetchError?: unknown; } export declare function extractUserToken(cookieHeader: string): string | undefined; /** * Token service deployments report an unknown project identity with either * HTTP 400 (legacy) or HTTP 404. Classify that contract at the typed HTTP * boundary without coupling the proxy to response prose. */ export declare function isMissingProxyProjectError(error: unknown): boolean; export declare function resolveProxyRequestToken(options: ResolveProxyRequestTokenOptions): Promise; //# sourceMappingURL=proxy-token-resolution.d.ts.map