import { Result } from "@webiny/feature/api"; import { DeleteEntryUseCase as UseCaseAbstraction, MoveEntryToBinUseCase } from "./abstractions.js"; import { DeleteEntryRepository } from "./abstractions.js"; import { AccessControl } from "../../../features/shared/abstractions.js"; import { GetLatestRevisionByEntryIdIncludingDeletedUseCase } from "../../../features/contentEntry/GetLatestRevisionByEntryId/index.js"; import type { CmsDeleteEntryOptions, CmsModel } from "../../../types/index.js"; import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js"; /** * DeleteEntryUseCase - Orchestrates permanent deletion of an entry. * * Responsibilities: * - Apply access control * - Get the entry to delete by ID * - Publish domain events * - Delegate to repository for storage operations */ declare class DeleteEntryUseCaseImpl implements UseCaseAbstraction.Interface { private moveEntryToBin; private repository; private accessControl; private getLatestRevision; private eventPublisher; constructor(moveEntryToBin: MoveEntryToBinUseCase.Interface, repository: DeleteEntryRepository.Interface, accessControl: AccessControl.Interface, getLatestRevision: GetLatestRevisionByEntryIdIncludingDeletedUseCase.Interface, eventPublisher: EventPublisher.Interface); execute(model: CmsModel, id: string, options: CmsDeleteEntryOptions): Promise>; } export declare const DeleteEntryUseCase: import("@webiny/di").Implementation; export {};