import type { AgentMessage } from "@pie-lab/agent-core";
import type { Message, Model } from "@pie-lab/ai";
import type { LearningSettings } from "./learning-settings.ts";
import type { MemoryStore } from "./memory-store.ts";
import { type LearningReviewStore, type ReviewAction } from "./review-store.ts";
import type { SkillManager } from "./skill-manager.ts";
export interface BackgroundReviewOptions {
    settings: LearningSettings;
    memoryStore: MemoryStore;
    skillManager: SkillManager;
    reviewStore: LearningReviewStore;
    streamFn?: (model: Model<any>, context: {
        systemPrompt?: string;
        messages: Message[];
    }, options?: any) => any;
    onSkillsChanged?: () => Promise<void> | void;
}
export declare class BackgroundLearningReview {
    private turnCount;
    private running;
    private lastReviewAt;
    private readonly options;
    constructor(options: BackgroundReviewOptions);
    trigger(messages: AgentMessage[]): void;
    private review;
    private runReviewToolLoop;
    private executeReviewToolCall;
    private processAction;
    applyAction(action: ReviewAction): Promise<void>;
    private findDuplicateReason;
}
//# sourceMappingURL=background-review.d.ts.map