import { Logger } from '@n8n/backend-common'; import { AuthIdentityRepository, UserRepository, type User } from '@n8n/db'; import { EventService } from '../../../events/event.service'; import { RoleService } from '../../../services/role.service'; import { UserService } from '../../../services/user.service'; import { TokenExchangeConfig } from '../token-exchange.config'; import type { ExternalTokenClaims } from '../token-exchange.schemas'; import { TrustedKeyService } from './trusted-key.service'; export declare function qualifiedProviderId(issuer: string, sub: string): string; export declare class IdentityResolutionService { private readonly userRepository; private readonly authIdentityRepository; private readonly eventService; private readonly userService; private readonly trustedKeyService; private readonly roleService; private readonly config; private readonly logger; constructor(logger: Logger, userRepository: UserRepository, authIdentityRepository: AuthIdentityRepository, eventService: EventService, userService: UserService, trustedKeyService: TrustedKeyService, roleService: RoleService, config: TokenExchangeConfig); private assertKeyMayActAsUser; private assertEmailVerified; resolve(claims: ExternalTokenClaims, allowedRoles: string[] | undefined, tokenContext: { kid: string; issuer: string; requireVerifiedEmail: boolean; }): Promise; private resolveByIdentity; private resolveByEmail; private provisionUser; private resolveRoleForExistingUser; private resolveRoleForNewUser; private syncProfile; }