import type { User } from '@n8n/db'; export type AuthFailureReason = 'missing_authorization_header' | 'invalid_bearer_format' | 'jwt_decode_failed' | 'invalid_token' | 'token_not_found_in_db' | 'user_not_found' | 'user_id_not_in_auth_info' | 'unknown_error' | 'verifier_not_registered' | 'insufficient_scope'; export type Mcpauth_type = 'oauth' | 'api_key' | 'unknown'; export type TelemetryAuthContext = { reason: AuthFailureReason; auth_type: Mcpauth_type; error_details?: string; }; export type UserWithContext = { user: User | null; actor?: User; context?: TelemetryAuthContext; authType?: Mcpauth_type; scopes?: string[]; }; export interface OAuthTokenVerifier { verifyOAuthAccessToken(token: string, expectedAudience?: string): Promise; } export declare class OAuthTokenVerifierProxy implements OAuthTokenVerifier { private provider; registerProvider(provider: OAuthTokenVerifier): void; verifyOAuthAccessToken(token: string, expectedAudience?: string): Promise; }