import { Result } from "@webiny/feature/api"; import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js"; import { MoveEntryUseCase as UseCaseAbstraction } from "./abstractions.js"; import { MoveEntryRepository } from "./abstractions.js"; import { AccessControl } from "../../../features/shared/abstractions.js"; import { GetRevisionByIdUseCase } from "../../../features/contentEntry/GetRevisionById/index.js"; import type { CmsEntry, CmsEntryValues, CmsModel } from "../../../types/index.js"; /** * MoveEntryUseCase - Orchestrates moving an entry to a different folder. * * Responsibilities: * - Apply access control * - Get the entry to move * - Check if entry is already in target folder (early return) * - Publish domain events * - Delegate to repository for storage operations */ declare class MoveEntryUseCaseImpl implements UseCaseAbstraction.Interface { private repository; private accessControl; private getRevisionById; private eventPublisher; constructor(repository: MoveEntryRepository.Interface, accessControl: AccessControl.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, eventPublisher: EventPublisher.Interface); execute(model: CmsModel, id: string, folderId: string): Promise, UseCaseAbstraction.Error>>; } export declare const MoveEntryUseCase: import("@webiny/di").Implementation; export {};