import { Result } from "@webiny/feature/api"; import { DeleteGroupRepository as RepositoryAbstraction } from "./abstractions.js"; import { GroupCache } from "../../../features/contentModelGroup/shared/abstractions.js"; import { PluginGroupsProvider } from "../../../features/contentModelGroup/shared/abstractions.js"; import { StorageOperations } from "../../../features/shared/abstractions.js"; import type { CmsGroup } from "../../../types/index.js"; /** * DeleteGroupRepository - Validates and performs group deletion. * * Responsibilities: * - Check if group is plugin-based (cannot delete) * - Check if models reference this group (cannot delete) * - Persist deletion to storage * - Clear GroupCache after successful deletion */ declare class DeleteGroupRepositoryImpl implements RepositoryAbstraction.Interface { private groupCache; private pluginGroupsProvider; private storageOperations; constructor(groupCache: GroupCache.Interface, pluginGroupsProvider: PluginGroupsProvider.Interface, storageOperations: StorageOperations.Interface); execute(group: CmsGroup): Promise>; } export declare const DeleteGroupRepository: import("@webiny/di").Implementation; export {};