import type { Response } from 'express'; import { SavedItemsService } from './saved-items.service.js'; import { WorkspaceService } from '../workspace/workspace.service.js'; import { ConfigService } from '../config/config.service.js'; export declare class SavedItemsController { private readonly savedItemsService; private readonly workspaceService; private readonly configService; constructor(savedItemsService: SavedItemsService, workspaceService: WorkspaceService, configService: ConfigService); list(tagId?: string, workspace?: string): Promise<{ success: boolean; data: import("./saved-items.service.js").SavedItem[]; }>; imageProxy(url: string, res: Response): Promise; get(id: string): Promise<{ success: boolean; data: import("./saved-items.service.js").SavedItem; }>; create(body: { url: string; title?: string; workspace?: string; tagNames?: string[]; tagIds?: string[]; }): Promise<{ success: boolean; data: import("./saved-items.service.js").SavedItem; }>; delete(id: string): Promise<{ success: boolean; }>; /** * Download the saved item URL to workspace .favorite or to a user-chosen directory. * Body: { workspace?: string, targetDir?: string }. * If targetDir (absolute path) is provided, file is written there; otherwise to workspace/.favorite. */ downloadToWorkspace(id: string, body: { workspace?: string; targetDir?: string; }): Promise<{ success: boolean; data: { absolutePath: string; targetDir: string; relativePath?: undefined; workspace?: undefined; }; } | { success: boolean; data: { relativePath: string; workspace: string; absolutePath?: undefined; targetDir?: undefined; }; }>; }