/** * PatternManager - Manages pattern CRUD operations with status filtering and promotion */ import type { Pattern, PatternStatus, PatternOccurrence } from '../types/knowledge.js'; import type { StorageProvider } from '../types/storage.js'; import type { PrincipleManager } from './PrincipleManager.js'; /** * Input for creating a new pattern */ export interface CreatePatternInput { description: string; domain: string[]; occurrences?: PatternOccurrence[]; } /** * Input for updating a pattern */ export interface UpdatePatternInput { description?: string; domain?: string[]; status?: PatternStatus; } /** * Manages patterns storage and retrieval with filtering and promotion */ export declare class PatternManager { private readonly storage; private principleManager?; constructor(storage: StorageProvider); /** * Set the principle manager for pattern promotion */ setPrincipleManager(manager: PrincipleManager): void; /** * Get the storage key for a user's patterns */ private getKey; /** * Get all patterns for a user, optionally filtered by status */ get(userId: string, status?: PatternStatus): Promise; /** * Get a specific pattern by ID */ getById(userId: string, patternId: string): Promise; /** * Add a new pattern */ add(userId: string, input: CreatePatternInput): Promise; /** * Update an existing pattern */ update(userId: string, patternId: string, update: UpdatePatternInput): Promise; /** * Add an occurrence to a pattern */ addOccurrence(userId: string, patternId: string, occurrence: Omit): Promise; /** * Promote a pattern to a principle * Returns the new principle ID */ promoteToAnciple(userId: string, patternId: string): Promise; /** * Reject a pattern */ reject(userId: string, patternId: string): Promise; /** * Delete a pattern (hard delete) */ delete(userId: string, patternId: string): Promise; } //# sourceMappingURL=PatternManager.d.ts.map