import { Result } from "@webiny/feature/api"; import type { CmsEntry, CmsModel } from "../../../types/index.js"; import type { EntryNotAuthorizedError, EntryPersistenceError } from "../../../domain/contentEntry/errors.js"; /** * DeleteMultipleEntries Use Case - Deletes multiple entries at once. */ export interface IDeleteMultipleEntriesUseCaseResultItem { id: string; } export interface IDeleteMultipleEntriesUseCaseParams { entries: string[]; } export interface IDeleteMultipleEntriesUseCase { execute(model: CmsModel, params: IDeleteMultipleEntriesUseCaseParams): Promise>; } export interface IDeleteMultipleEntriesUseCaseErrors { notAuthorized: EntryNotAuthorizedError; storage: EntryPersistenceError; } type UseCaseError = IDeleteMultipleEntriesUseCaseErrors[keyof IDeleteMultipleEntriesUseCaseErrors]; /** Delete multiple content entries in batch. */ export declare const DeleteMultipleEntriesUseCase: import("@webiny/di").Abstraction; export declare namespace DeleteMultipleEntriesUseCase { type Interface = IDeleteMultipleEntriesUseCase; type Params = IDeleteMultipleEntriesUseCaseParams; type Error = UseCaseError; type Return = Promise>; } /** * Payload for before delete multiple event */ export interface EntryBeforeDeleteMultipleEventPayload { entries: CmsEntry[]; ids: string[]; model: CmsModel; } /** * Payload for after delete multiple event */ export interface EntryAfterDeleteMultipleEventPayload { entries: CmsEntry[]; ids: string[]; model: CmsModel; } /** * Payload for delete multiple error event */ export interface EntryDeleteMultipleErrorEventPayload { entries: CmsEntry[]; ids: string[]; model: CmsModel; error: Error; } /** * DeleteMultipleEntriesRepository - Handles storage operations for deleting multiple entries. */ export interface IDeleteMultipleEntriesRepository { execute(model: CmsModel, entryIds: string[]): Promise>; } export interface IDeleteMultipleEntriesRepositoryErrors { storage: EntryPersistenceError; } type RepositoryError = IDeleteMultipleEntriesRepositoryErrors[keyof IDeleteMultipleEntriesRepositoryErrors]; export declare const DeleteMultipleEntriesRepository: import("@webiny/di").Abstraction; export declare namespace DeleteMultipleEntriesRepository { type Interface = IDeleteMultipleEntriesRepository; type Error = RepositoryError; } export {};