import { ProjectRelationRepository, SharedCredentialsRepository, UserRepository } from '@n8n/db';
import type { EntityManager } from '@n8n/typeorm';
import type { ICredentialConnectionStatusProvider } from '../../../credentials/credential-connection-status-provider.interface';
import { RoleService } from '../../../services/role.service';
import { DynamicCredentialUserEntryRepository } from '../database/repositories/dynamic-credential-user-entry.repository';
export declare class CredentialConnectionStatusService implements ICredentialConnectionStatusProvider {
    private readonly repository;
    private readonly userRepository;
    private readonly sharedCredentialsRepository;
    private readonly roleService;
    private readonly projectRelationRepository;
    constructor(repository: DynamicCredentialUserEntryRepository, userRepository: UserRepository, sharedCredentialsRepository: SharedCredentialsRepository, roleService: RoleService, projectRelationRepository: ProjectRelationRepository);
    findConnectedCredentialIds(userId: string, credentialIds: string[]): Promise<Set<string>>;
    deleteMyConnection(userId: string, credentialId: string): Promise<number>;
    countConnectedUsers(credentialId: string): Promise<number>;
    deleteAllUserEntries(credentialId: string, em?: EntityManager): Promise<void>;
    cleanupOrphanedEntriesForUsers(userIds: string[], em?: EntityManager, credentialId?: string): Promise<void>;
    cleanupOrphanedEntriesForProjects(credentialId: string, projectIds: string[], em?: EntityManager): Promise<void>;
    private deleteOrphanedPairs;
    private selectOrphanedPairs;
}
