import type { VaultMemoryApi } from './cloud.js'; import type { ContextResult } from './context-engines.js'; type MirrorJob = { id: string; projectId: string; kind: string; generate?: boolean; }; export declare function shouldMirrorCrystalMemory(job: MirrorJob): boolean; export declare function crystalProjectFolder(project: unknown): string | null; export declare function resolveCrystalProjectFolder(cloud: Pick, projectId: string): Promise; export interface CrystalMirrorRecord { sourceId: string; project: string; title: string; content: string; tags: string[]; } /** written; locked (retry later); rejected (non-locked tool error); unavailable (Desktop unreachable). */ export type CrystalMirrorOutcome = 'written' | 'locked' | 'rejected' | 'unavailable'; export declare function writeCrystalMirror(home: string, record: CrystalMirrorRecord): Promise; export declare function mirrorCrystalMemory(input: { home: string; cloud: Pick; job: MirrorJob; result: Pick; }): Promise<{ outcome: CrystalMirrorOutcome | 'skipped'; record?: CrystalMirrorRecord; }>; export {};