import type { FmFile } from "../shared/types.js"; export interface UpdateFileGatewayParams { id: string; data: UpdateFileData; fields: string[]; } export interface UpdateFileData { name?: string; tags?: string[]; metadata?: Record; accessControl?: { type: "public" | "private-authenticated"; }; location?: { folderId: string; }; [key: string]: any; } export interface IUpdateFileGateway { execute(params: UpdateFileGatewayParams): Promise; } export declare const UpdateFileGateway: import("@webiny/di").Abstraction; export declare namespace UpdateFileGateway { type Interface = IUpdateFileGateway; } export interface IUpdateFileRepository { execute(params: UpdateFileGatewayParams): Promise; } export declare const UpdateFileRepository: import("@webiny/di").Abstraction; export declare namespace UpdateFileRepository { type Interface = IUpdateFileRepository; } export interface UpdateFileUseCaseParams { id: string; data: UpdateFileData; } export type UpdateFileUseCaseResult = { success: true; file: FmFile; } | { success: false; error: { code: string; message: string; }; }; export interface IUpdateFileUseCase { execute(params: UpdateFileUseCaseParams): Promise; } export declare const UpdateFileUseCase: import("@webiny/di").Abstraction; export declare namespace UpdateFileUseCase { type Interface = IUpdateFileUseCase; }