import type { AddBreakpointCommentParams, AssignBreakpointParams, BreakpointBackend, BreakpointBackendCapabilities, BreakpointExport, BreakpointMetricsSummary, BreakpointSearchQuery, BulkBreakpointOperationResult, BulkUpdateBreakpointsParams, SubmitBreakpointParams, TransitionBreakpointParams, WaitForAnswerOptions, SubmitAnswerParams } from "../backend.js"; import type { Breakpoint, BreakpointComment, BreakpointPublicAnswer, BreakpointWaitResult, ProvenVerificationResult } from "../types.js"; export interface GitNativeBackendOptions { /** Path to the .breakpoints directory. Defaults to `.breakpoints` in cwd. */ breakpointsDir?: string; /** Default poll interval in ms. Defaults to 3000. */ pollIntervalMs?: number; /** Default timeout in ms. Defaults to 30 minutes. */ timeoutMs?: number; /** Path to a .key.json private key file for signing answers. Optional. */ signingKeyPath?: string; } export declare class GitNativeBackend implements BreakpointBackend { readonly name = "git-native"; private breakpointsDir; private defaultPollIntervalMs; private defaultTimeoutMs; private signingKeyPath; constructor(options?: GitNativeBackendOptions); private breakpointPath; private answerPath; private provenPath; capabilities(): BreakpointBackendCapabilities; /** * Load the signing key from the configured signingKeyPath. * Returns null if no signing key is configured or the file cannot be read. */ private loadSigningKey; /** * Load a proven answer file for a breakpoint, if it exists. */ private loadProvenAnswer; private loadStoredAnswer; private loadPublicAnswer; private writeBreakpoint; private historyEntry; private auditEntry; private listAllBreakpoints; private assertBlockingDependenciesSatisfied; submitBreakpoint(params: SubmitBreakpointParams): Promise; getBreakpoint(id: string): Promise; waitForAnswer(id: string, options?: WaitForAnswerOptions): Promise; listPendingBreakpoints(responderId?: string): Promise; answerBreakpoint(id: string, answer: SubmitAnswerParams): Promise; cancelBreakpoint(id: string): Promise; claimBreakpoint(id: string, responderId: string): Promise; assignBreakpoint(id: string, params: AssignBreakpointParams): Promise; transitionBreakpoint(id: string, params: TransitionBreakpointParams): Promise; addBreakpointComment(id: string, params: AddBreakpointCommentParams): Promise; searchBreakpoints(query: BreakpointSearchQuery): Promise<{ items: Breakpoint[]; total: number; offset: number; limit: number; }>; bulkUpdateBreakpoints(params: BulkUpdateBreakpointsParams): Promise; getBreakpointMetrics(query?: BreakpointSearchQuery): Promise; exportBreakpoints(query?: BreakpointSearchQuery): Promise; /** * Verify the selected public answer against trusted public keys. */ verifyAnswer(id: string): Promise; /** * Verify a loaded ProvenBreakpointAnswer against trusted keys in the * breakpoints directory. */ private verifyProvenFile; } //# sourceMappingURL=git-native.d.ts.map