/**
 * DecisionGraph Memory Backend — AgentDB Integration (ADR-033)
 *
 * Syncs DecisionGraph nodes to the AgentDB memory system using the
 * claude-flow CLI. Each node is stored as a memory entry with:
 *   - Key: decisiongraph:{execution_id}:{node_id}
 *   - Namespace: decisiongraph
 *   - Tags: node type, pass number, agent name
 *
 * This module provides:
 *   - Push: sync graph nodes to AgentDB
 *   - Pull: retrieve nodes from AgentDB into a graph
 *   - Search: semantic vector search via AgentDB HNSW
 *   - CLI query bridge: format queries for npx @claude-flow/cli
 *
 * Per ADR-033: "The DecisionGraph is stored in the existing AgentDB
 * memory system with HNSW indexing."
 */
import type { DecisionGraphNode, DecisionNodeType, PassNumber } from './types.js';
import { DecisionGraph } from './decision-graph.js';
/**
 * Generate the canonical AgentDB memory key for a node.
 * Format: decisiongraph:{execution_id}:{node_id}
 */
export declare function memoryKey(executionId: string, nodeId: string): string;
/**
 * Generate tags for a node's memory entry.
 * Includes: type, pass, agent domain, agent name, execution.
 */
export declare function memoryTags(node: DecisionGraphNode, executionId: string): readonly string[];
/** Result of a push operation. */
export interface PushResult {
    readonly nodesStored: number;
    readonly nodesFailed: number;
    readonly errors: readonly string[];
}
/**
 * Push all nodes from a DecisionGraph to AgentDB memory.
 * Uses the claude-flow CLI `memory store` command.
 *
 * @param graph - The graph to push.
 * @param options - Push options.
 * @returns Push result with counts and any errors.
 */
export declare function pushToMemory(graph: DecisionGraph, options?: {
    readonly verbose?: boolean;
    readonly timeoutMs?: number;
}): PushResult;
/** Result of a pull operation. */
export interface PullResult {
    readonly nodesRetrieved: number;
    readonly nodesFailed: number;
    readonly errors: readonly string[];
}
/**
 * Pull nodes from AgentDB memory into a DecisionGraph.
 * Lists all entries in the decisiongraph namespace for the execution ID.
 *
 * @param executionId - The execution ID to pull nodes for.
 * @param outputDir - Output directory for the graph.
 * @param options - Pull options.
 * @returns A new DecisionGraph populated from AgentDB.
 */
export declare function pullFromMemory(executionId: string, outputDir: string, options?: {
    readonly verbose?: boolean;
    readonly timeoutMs?: number;
}): {
    graph: DecisionGraph;
    result: PullResult;
};
/** Result of a semantic search. */
export interface SearchResult {
    readonly nodes: readonly DecisionGraphNode[];
    readonly query: string;
    readonly errors: readonly string[];
}
/**
 * Search for nodes by semantic similarity using AgentDB HNSW indexing.
 * The query is matched against node summaries.
 *
 * @param query - Natural language search query.
 * @param executionId - Scope search to a specific execution (optional).
 * @param options - Search options.
 */
export declare function searchMemory(query: string, executionId?: string, options?: {
    readonly limit?: number;
    readonly timeoutMs?: number;
}): SearchResult;
/**
 * Generate a CLI command string for querying the DecisionGraph via
 * the claude-flow memory system. Does NOT execute — returns the command.
 *
 * Per ADR-033's querying section.
 */
export declare function buildMemoryQuery(params: {
    action: 'list' | 'search' | 'retrieve';
    executionId?: string;
    nodeId?: string;
    type?: DecisionNodeType;
    pass?: PassNumber;
    query?: string;
    limit?: number;
}): string;
//# sourceMappingURL=decision-graph-memory.d.ts.map