import type { SyncScope } from './types/sync.js';
import type { ClosureEvaluationContext, ClosureResult } from './sync-closure-types.js';
import type { GenericMessage, MessageStore } from '@enbox/dwn-sdk-js';
/**
 * Evaluates closure completeness for a single operation (closure root).
 *
 * Uses BFS traversal with deduplication and depth limiting. Shared caching
 * across evaluation batches via {@link ClosureEvaluationContext}.
 *
 * The resolver queries the local MessageStore directly (bypassing auth)
 * because it needs to verify dependency presence, not access-control the
 * syncing agent's own local store.
 */
export declare function evaluateClosure(message: GenericMessage, messageStore: MessageStore, scope: SyncScope, context: ClosureEvaluationContext): Promise<ClosureResult>;
/**
 * Evaluate closure for a batch of messages. Shares caching across all roots.
 */
export declare function evaluateClosureBatch(messages: GenericMessage[], messageStore: MessageStore, scope: SyncScope, tenantDid: string, maxDepth?: number): Promise<ClosureResult[]>;
//# sourceMappingURL=sync-closure-resolver.d.ts.map