import { DataSource } from '@n8n/typeorm'; import { CredentialsEntity, type Project, Role, SharedCredentials } from '../entities'; import type { OperationContext } from '../services/transaction'; import { TransactionRunner } from '../services/transaction'; import { BaseRepository } from './base-repository'; export type CredentialAccessRoles = { userId: string; projectRoles: string[]; credentialRoles: string[]; }; export declare class CredentialAccessRepository extends BaseRepository { constructor(dataSource: DataSource, transactionRunner: TransactionRunner); findRolesForAccessCheck(ctx?: OperationContext): Promise; findGlobalProjectCredentials(ctx?: OperationContext): Promise; findGlobalProjectCredentialById(credentialId: string, includeSharedProject: boolean, ctx?: OperationContext): Promise; findCredentialById(credentialId: string, options: { includeInstanceCredentials: boolean; includeSharedProject: boolean; }, ctx?: OperationContext): Promise; findInstanceCredentialById(credentialId: string, ctx?: OperationContext): Promise; findProjectCredentialsForUser(access: CredentialAccessRoles | null, ctx?: OperationContext): Promise; findProjectCredentialForUser(credentialId: string, access: CredentialAccessRoles | null, ctx?: OperationContext): Promise; findAllProjectCredentialsForUser(access: CredentialAccessRoles | null, ctx?: OperationContext): Promise<{ id: string; updatedAt: Date; createdAt: Date; name: string; description: string | null; data: string; type: string; shared: SharedCredentials[]; isManaged: boolean; isGlobal: boolean; isResolvable: boolean; resolvableAllowFallback: boolean; resolverId: string | null; usageScope: import("../entities").CredentialUsageScope; pendingAuthorizationExpiresAt: Date | null; projectId: string; }[]>; findProjectCredentialIdsForUser(credentialIds: string[], access: CredentialAccessRoles | null, ctx?: OperationContext): Promise>; findGlobalProjectCredentialIds(credentialIds: string[], resolvableOnly: boolean, ctx?: OperationContext): Promise; findExistingCredentialIds(credentialIds: string[], ctx?: OperationContext): Promise; findCredentialNames(credentialIds: string[], ctx?: OperationContext): Promise>>; findOwnerProjectsByCredentialIds(credentialIds: string[], ctx?: OperationContext): Promise>; findCredentialIdsByUserAndRoles(userIds: string[], projectRoles: string[], credentialRoles: string[], ctx?: OperationContext): Promise; }