import type { ContractType, ExtractedContract, RepoHandle } from './types.js'; export interface ContractExtractor { type: ContractType; canExtract(repo: RepoHandle): Promise; extract(dbExecutor: CypherExecutor | null, repoPath: string, repo: RepoHandle): Promise; } export type CypherExecutor = (query: string, params?: Record) => Promise[]>;