import type { JournalEntry, Tag, Relationship, RelationshipType, ToolHandlerConfig } from '../../types/index.js'; import type { IDatabaseAdapter, TeamMember, TeamRole, AuthorAlias } from '../core/interfaces.js'; import { NativeConnectionManager } from './native-connection.js'; import { AliasManager } from './aliases.js'; import { TagsManager } from './tags.js'; import { EntriesManager } from './entries/index.js'; import { RelationshipsManager } from './relationships.js'; import { BackupManager } from './backup.js'; import { MembersManager } from './members.js'; import { HealthOperations } from './health-operations.js'; import { LifecycleOperations } from './lifecycle-operations.js'; import { InsightsOperations } from './insights-operations.js'; import { VectorOperations } from './vector-operations.js'; /** * Base delegate layer for SQLite DatabaseAdapter: * Houses connection lifecycle, RBAC team members, author aliases, tags, * relationships, backups, health, lifecycle, vector operations, and insights. */ export declare class AdapterDelegates { protected connection: NativeConnectionManager; protected tagsMgr: TagsManager; protected entriesMgr: EntriesManager; protected relationshipsMgr: RelationshipsManager; protected backupMgr: BackupManager; protected membersMgr: MembersManager; protected aliasMgr: AliasManager; protected healthOps: HealthOperations; protected lifecycleOps: LifecycleOperations; protected insightsOps: InsightsOperations; protected vectorOps: VectorOperations; constructor(dbPath: string, config?: ToolHandlerConfig); initialize(): Promise; applyTeamSchema(): void; flushSave(): void; close(): void; pragma(command: string): void; executeInTransaction(cb: () => T): T; addTeamMember(author: string, role: TeamRole, addedBy?: string, displayName?: string): TeamMember; removeTeamMember(author: string): boolean; updateTeamMemberRole(author: string, newRole: TeamRole): TeamMember | null; getTeamMember(author: string): TeamMember | null; listTeamMembers(): TeamMember[]; getTeamMemberCount(): number; isTeamRbacActive(): boolean; resolveTeamRole(author: string, defaultRole?: TeamRole | 'denied'): TeamRole | null; addAuthorAlias(alias: string, canonicalAuthor: string, createdBy?: string): AuthorAlias; removeAuthorAlias(alias: string): boolean; listAuthorAliases(canonicalAuthor?: string): AuthorAlias[]; resolveAuthor(rawAuthor: string): string; resolveAuthors(rawAuthors: string[]): Map; consolidateAuthors(canonicalAuthor: string): number; getTagsForEntry(entryId: number): string[]; getTagsForEntries(entryIds: number[]): Map; listTags(): Tag[]; mergeTags(sourceTag: string, targetTag: string): { entriesUpdated: number; sourceDeleted: boolean; }; linkEntries(fromEntryId: number, toEntryId: number, relationshipType: RelationshipType, description?: string): Relationship; getRelationships(entryId: number): Relationship[]; getRelationshipsForEntries(entryIds: number[]): Map; getRelationshipHubs(limit: number): { entryId: number; content: string; totalLinks: number; }[]; getOrphanCount(workspaceId?: string): number; getBackupsDir(): string; exportToFile(backupName?: string): Promise<{ filename: string; path: string; sizeBytes: number; }>; listBackups(): { filename: string; path: string; sizeBytes: number; createdAt: string; }[]; deleteOldBackups(keepCount: number): { deleted: string[]; kept: number; }; restoreFromFile(filename: string, runtime?: unknown): Promise<{ restoredFrom: string; previousEntryCount: number; newEntryCount: number; }>; getHealthStatus(): ReturnType; getVectorMetadata(key: string): string | undefined; setVectorMetadata(key: string, value: string): void; createVecTable(dimensions: number): void; dropVecTable(): void; upsertVector(entryId: number, embedding: Float32Array): void; upsertVectors(vectors: { entryId: number; embedding: Float32Array; }[]): void; searchVectors(embedding: Float32Array, limit: number): { entry_id: number; distance: number; }[]; getVector(entryId: number): Float32Array | null; deleteVector(entryId: number): void; clearVectors(): void; getVectorCount(): number; cleanupStaleVectors(): number; executeDataLifecycle(options: { archiveOlderThanDays: number; pruneOlderThanDays: number; hardDeleteOlderThanDays: number; importanceThreshold: number; dryRun?: boolean; excludeTags?: string[]; }): ReturnType; getWorkflowActionEntries(limit: number, workspaceId?: string): JournalEntry[]; getSignificantEntries(limit: number, projectNumber?: number, workspaceId?: string): JournalEntry[]; getRecentGraphRelationships(limit: number): { from_entry_id: number; to_entry_id: number; relationship_type: string; from_content: string; to_content: string; }[]; getAuthorStatistics(workspaceId?: string): { author: string; count: number; }[]; getAuthorsForEntries(entryIds: number[]): Map; saveAnalyticsSnapshot(type: string, data: Record): number; getLatestAnalyticsSnapshot(type: string): { id: number; createdAt: string; data: Record; } | null; getAnalyticsSnapshots(type: string, limit?: number): { id: number; createdAt: string; data: Record; }[]; computeDigest(workspaceId?: string): Record; getCrossProjectInsights(options: { startDate?: string; endDate?: string; minEntries: number; inactiveThresholdDays: number; workspaceId?: string; }): ReturnType; visualizeRelationships(options: { entryId?: number; tags?: string[]; relationshipType?: string; depth: number; limit: number; }): ReturnType; getTeamCollaborationMatrix(options: { period: string; limit: number; }): ReturnType; } //# sourceMappingURL=adapter-delegates.d.ts.map