import type { DefenceConfig, DefencePipelineResult, DefenceSource } from '../defence/types.js';
export interface ExternalMemoryRecord {
    id?: string;
    title?: string;
    content: string;
    tags?: string[];
    metadata?: Record<string, unknown>;
    createdAt?: string;
}
export interface ExternalMemoryBackend {
    readonly name: string;
    save(record: ExternalMemoryRecord): Promise<{
        id: string;
    }>;
    search?(query: string, options?: {
        limit?: number;
    }): Promise<ExternalMemoryRecord[]>;
    delete?(id: string): Promise<boolean>;
}
export interface GuardedMemoryBridgeConfig {
    mode?: DefenceConfig['mode'];
    sourceType?: DefenceSource['type'];
    sourceIdentifier?: string;
    blockOnThreat?: boolean;
}
export interface GuardedSaveResult {
    allowed: boolean;
    externalId?: string;
    defence: DefencePipelineResult;
    reason: string;
}
export interface GuardedSearchResult {
    results: ExternalMemoryRecord[];
    blocked: Array<{
        record: ExternalMemoryRecord;
        reason: string;
    }>;
    advisories: Array<{
        record: ExternalMemoryRecord;
        reason: string;
    }>;
}
/**
 * Wraps any memory backend with ShieldCortex defence checks.
 *
 * This is the core "complement" integration: existing memory systems keep
 * their own storage, while ShieldCortex adds security/audit controls.
 */
export declare class ShieldCortexGuardedMemoryBridge {
    private readonly backend;
    private readonly config;
    private readonly sourceType;
    private readonly sourceIdentifier;
    private readonly blockOnThreat;
    constructor(backend: ExternalMemoryBackend, options?: GuardedMemoryBridgeConfig);
    save(record: ExternalMemoryRecord): Promise<GuardedSaveResult>;
    search(query: string, options?: {
        limit?: number;
    }): Promise<GuardedSearchResult>;
    delete(id: string): Promise<boolean>;
}
