import type { ModelMessage, UserModelMessage, SystemModelMessage, LanguageModelUsage } from "ai";
import type { AttachmentsRecord } from "../../attachments/store.js";
import type { ContextV2 } from "./context.js";
import type { ConversationContext } from "./conversation-context.js";
import type { CompactionCallbacks, CompactionSummary } from "./types.js";
export declare class ContextV2Adapter implements ConversationContext {
    private v2;
    private responseCount;
    private lastUsage?;
    private constructor();
    static fromContext(context: ContextV2): ContextV2Adapter;
    setSystemPrompt(prompt: SystemModelMessage): void;
    initializeWith(messages: ModelMessage[]): Promise<void>;
    startTurn(user: UserModelMessage): Promise<void>;
    startStep(): void;
    endStep(responses: ModelMessage[], usage?: LanguageModelUsage): Promise<void>;
    endTurn(_usage?: LanguageModelUsage): void;
    getMessages(): Promise<ModelMessage[]>;
    storeSummary(toolCallId: string, summary: CompactionSummary): void;
    markSkillsNeedReload(): void;
    checkAndClearSkillsNeedReload(): boolean;
    setAttachments(attachments: AttachmentsRecord): void;
    getAttachments(): AttachmentsRecord | undefined;
    truncateAfterTimestamp(timestamp: number): void;
    setCompactionCallbacks(callbacks: CompactionCallbacks | undefined): void;
}
//# sourceMappingURL=adapter.d.ts.map