/** * Neo4j Pull Request Repository * * Provides direct read/write access to PR data in Neo4j. * Unlike Memory/Task repositories, this one supports writes directly * to Neo4j (not via MCP) for immediate persistence. * * PRs are user-scoped with group_id: "user:". * * @see .dev/features/github-pr.md for full specification */ import type { IPullRequest, IGitHubIssue, IPrCheck, IPrComment, IPullRequestInput, IGitHubIssueInput, IPullRequestWithRelations } from '../../../../domain/interfaces/types/IPullRequest'; import type { IPullRequestRepository, IPullRequestQueryOptions, IPullRequestQueryResult } from '../../../../domain/interfaces/dal/IPullRequestRepository'; import type { Neo4jConnectionManager } from '../../connections/Neo4jConnectionManager'; /** * Neo4j Pull Request Repository implementation. */ export declare class Neo4jPullRequestRepository implements IPullRequestRepository { private readonly connection; private cachedUserId; constructor(connection: Neo4jConnectionManager); supportsWrite(): boolean; supportsRelationships(): boolean; getUserId(): Promise; private generatePrUuid; private generateIssueUuid; private generateCheckUuid; private generateCommentUuid; private generatePrName; private generateIssueName; private generateCheckName; private generateCommentName; findPr(userId: string, repo: string, prNumber: number): Promise; findWatchedPrs(userId: string, options?: IPullRequestQueryOptions): Promise; findIssue(userId: string, repo: string, issueNumber: number): Promise; findIssuesByPr(userId: string, repo: string, prNumber: number): Promise; findPrsByIssue(userId: string, repo: string, issueNumber: number): Promise; findChecksByPr(userId: string, repo: string, prNumber: number): Promise; findCommentsByPr(userId: string, repo: string, prNumber: number): Promise; getPrWithRelations(userId: string, repo: string, prNumber: number): Promise; upsertPr(userId: string, input: IPullRequestInput): Promise; upsertIssue(userId: string, input: IGitHubIssueInput): Promise; upsertCheck(userId: string, repo: string, prNumber: number, checkData: Omit): Promise; upsertComment(userId: string, repo: string, prNumber: number, commentData: Omit): Promise; linkPrToIssues(userId: string, repo: string, prNumber: number, issueNumbers: readonly number[]): Promise; setWatching(userId: string, repo: string, prNumber: number, watching: boolean): Promise; updateLastPolled(userId: string, repo: string, prNumber: number): Promise; deletePr(userId: string, repo: string, prNumber: number): Promise; private parsePrRecord; private parseIssueRecord; private parseCheckRecord; private parseCommentRecord; } //# sourceMappingURL=Neo4jPullRequestRepository.d.ts.map