import { Logger } from '@n8n/backend-common'; import { CredentialsEntity, InstanceCredentialAssignmentRepository, type OperationContext } from '@n8n/db'; import type { ICredentialDataDecryptedObject } from 'n8n-workflow'; import { CredentialsService } from './credentials.service'; import { InstanceCredentialUseRegistry, type InstanceCredentialUse } from './instance-credential-use.registry'; export type { InstanceCredentialUse } from './instance-credential-use.registry'; type InstanceCredentialSummary = Pick; export interface ResolvedInstanceCredential extends InstanceCredentialSummary { data: ICredentialDataDecryptedObject; } export declare class InstanceCredentialBroker { private readonly logger; private readonly useRegistry; private readonly assignmentRepository; private readonly credentialsService; constructor(logger: Logger, useRegistry: InstanceCredentialUseRegistry, assignmentRepository: InstanceCredentialAssignmentRepository, credentialsService: CredentialsService); registerUse(credentialUse: InstanceCredentialUse): void; listForUse(credentialUse: InstanceCredentialUse): Promise; assignForUse(credentialUse: InstanceCredentialUse, credentialId: string, ctx?: OperationContext): Promise; clearForUse(credentialUse: InstanceCredentialUse, ctx?: OperationContext): Promise; getAssignedCredentialId(credentialUse: InstanceCredentialUse, ctx?: OperationContext): Promise; resolveForUse(credentialUse: InstanceCredentialUse, ctx?: OperationContext): Promise; private invalidCredentialError; }