import type { IAgentRuntime } from "../../../../types/index.ts";
import type { AddTaskClipboardItemInput, ClipboardConfig, TaskClipboardItem, TaskClipboardSnapshot } from "../types.ts";
export declare class TaskClipboardService {
    private readonly config;
    constructor(runtime: IAgentRuntime, config?: Partial<ClipboardConfig>);
    private ensureDirectory;
    /**
     * Resolve the store file path. When entityId is provided, the clipboard
     * is scoped per-entity under a `clipboard/` subdirectory. Without an
     * entityId the legacy global path is used.
     */
    private getStorePath;
    private readStore;
    private writeStore;
    getSnapshot(entityId?: string): Promise<TaskClipboardSnapshot>;
    listItems(entityId?: string): Promise<TaskClipboardItem[]>;
    getItem(id: string, entityId?: string): Promise<TaskClipboardItem | null>;
    addItem(input: AddTaskClipboardItemInput, entityId?: string): Promise<{
        item: TaskClipboardItem;
        replaced: boolean;
        snapshot: TaskClipboardSnapshot;
    }>;
    removeItem(id: string, entityId?: string): Promise<{
        removed: boolean;
        snapshot: TaskClipboardSnapshot;
    }>;
}
export declare function createTaskClipboardService(runtime: IAgentRuntime, config?: Partial<ClipboardConfig>): TaskClipboardService;
//# sourceMappingURL=taskClipboardService.d.ts.map