import { Result } from "@webiny/feature/api"; import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js"; import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js"; import { RestoreEntryFromBinUseCase as UseCaseAbstraction } from "./abstractions.js"; import { RestoreEntryFromBinRepository } from "./abstractions.js"; import { AccessControl } from "../../../features/shared/abstractions.js"; import { GetLatestDeletedRevisionByEntryIdUseCase } from "../../../features/contentEntry/GetLatestRevisionByEntryId/index.js"; import type { CmsEntry, CmsEntryValues, CmsModel } from "../../../types/index.js"; /** * RestoreEntryFromBinUseCase - Orchestrates restoring a soft-deleted entry from the bin. * * Responsibilities: * - Apply access control * - Get the deleted entry to restore by ID * - Clear deletion flags (wbyDeleted = false) * - Restore entry to its original folder * - Update restoration metadata * - Publish domain events * - Delegate to repository for storage operations */ declare class RestoreEntryFromBinUseCaseImpl implements UseCaseAbstraction.Interface { private repository; private accessControl; private getDeletedEntry; private identityContext; private eventPublisher; constructor(repository: RestoreEntryFromBinRepository.Interface, accessControl: AccessControl.Interface, getDeletedEntry: GetLatestDeletedRevisionByEntryIdUseCase.Interface, identityContext: IdentityContext.Interface, eventPublisher: EventPublisher.Interface); execute(model: CmsModel, id: string): Promise, UseCaseAbstraction.Error>>; } export declare const RestoreEntryFromBinUseCase: import("@webiny/di").Implementation; export {};