import type { MemoryId, MemoryScope } from "./memory.js";
export interface MemoryWorkflowContext {
    readonly text: string;
    readonly includedMemoryIds: readonly MemoryId[];
}
export interface MemoryUsedEvent {
    readonly memoryIds: readonly MemoryId[];
    readonly scopes: readonly MemoryScope[];
    readonly reason: string;
}
export interface MemoryOmittedEvent {
    readonly memoryId: MemoryId;
    readonly reason: string;
}
export interface MemoryWriteCandidateEvent {
    readonly proposalSummary: string;
    readonly scope: MemoryScope;
    readonly source: "workflow-success" | "workflow-correction";
}
export interface MemoryWorkflowPort {
    readonly getContextForWorkflow: (scopes: readonly MemoryScope[], queryText?: string, budgetTokens?: number) => Promise<MemoryWorkflowContext>;
    readonly onMemoryUsed?: (event: MemoryUsedEvent) => void;
    readonly onMemoryOmitted?: (event: MemoryOmittedEvent) => void;
    readonly onMemoryWriteCandidate?: (event: MemoryWriteCandidateEvent) => void;
}
//# sourceMappingURL=memory-workflow-port.d.ts.map