/** * Project Detection Module for pi-learn * Detects project context based on signature files */ import type { SQLiteStore } from "./store.js"; import { type ProjectInfo } from "./project-integration.js"; declare const PROJECT_SIGNATURE_FILES: readonly ["package.json", "Cargo.toml", "go.mod", "pyproject.toml", "requirements.txt", "Pipfile", "Gemfile", "composer.json", "pom.xml", "build.gradle", ".git/config", ".hg/hgrc", "Makefile", "CMakeLists.txt"]; type SignatureFile = typeof PROJECT_SIGNATURE_FILES[number]; export interface DetectedProject { id: string; name: string; path: string; signatureFile: SignatureFile; detectedAt: number; } export declare function createProjectDetector(store: SQLiteStore, defaultWorkspaceId: string, defaultWorkspaceName?: string): { /** * Check for project change and update workspace if needed * Returns the active workspace ID */ check(): string; /** * Get the currently active workspace ID */ getActiveWorkspaceId(): string; /** * Get the currently detected project info */ getDetectedProject(): DetectedProject | null; /** * Create a context snippet for the current project */ createContextSnippet(): string | null; /** * Start the file watcher for project changes */ startWatcher(): void; /** * Stop the file watcher */ stopWatcher(): void; /** * Get project info using the integration module */ getProjectInfo(): ProjectInfo | null; }; export declare function createRetentionScheduler(store: SQLiteStore, retentionConfig: { retentionDays: number; summaryRetentionDays: number; conclusionRetentionDays: number; pruneOnStartup: boolean; pruneIntervalHours: number; }, notify?: (message: string, type?: "info" | "warning" | "error") => void): { start(): void; stop(): void; isRunning(): boolean; }; export {}; //# sourceMappingURL=project-detection.d.ts.map