type CueAnchorType = "entity" | "file" | "tool" | "outcome" | "constraint" | "date";
interface CueAnchor {
    schemaVersion: 1;
    anchorId: string;
    anchorType: CueAnchorType;
    anchorValue: string;
    normalizedCue: string;
    recordedAt: string;
    sessionKey: string;
    nodeRefs: string[];
    tags?: string[];
    metadata?: Record<string, string>;
}
interface CueAnchorStoreStatus {
    enabled: boolean;
    anchorsEnabled: boolean;
    rootDir: string;
    anchors: {
        total: number;
        valid: number;
        invalid: number;
        byType: Partial<Record<CueAnchorType, number>>;
        totalNodeRefs: number;
        latestAnchorId?: string;
        latestRecordedAt?: string;
        latestSessionKey?: string;
    };
    latestAnchor?: CueAnchor;
    invalidAnchors: Array<{
        path: string;
        error: string;
    }>;
}
declare function resolveCueAnchorStoreDir(abstractionNodeStoreDir: string, overrideDir?: string): string;
declare function validateCueAnchor(raw: unknown): CueAnchor;
declare function recordCueAnchor(options: {
    memoryDir: string;
    abstractionNodeStoreDir?: string;
    cueAnchorStoreDir?: string;
    anchor: CueAnchor;
}): Promise<string>;
declare function getCueAnchorStoreStatus(options: {
    memoryDir: string;
    abstractionNodeStoreDir?: string;
    cueAnchorStoreDir?: string;
    enabled: boolean;
    anchorsEnabled: boolean;
}): Promise<CueAnchorStoreStatus>;

export { type CueAnchor, type CueAnchorStoreStatus, type CueAnchorType, getCueAnchorStoreStatus, recordCueAnchor, resolveCueAnchorStoreDir, validateCueAnchor };
