import { Result } from "@webiny/feature/api"; import { GetModelUseCase as UseCaseAbstraction } from "./abstractions.js"; import { GetModelRepository } from "./abstractions.js"; import { AccessControl } from "../../../features/shared/abstractions.js"; import type { CmsModel } from "../../../types/index.js"; /** * GetModelUseCase - Retrieves a single content model by ID. * * Responsibilities: * - Apply initial access control check * - Delegate to repository (which uses ModelCache for plugin + DB models) * - Apply model-specific access control check * - Return the model or appropriate error */ declare class GetModelUseCaseImpl implements UseCaseAbstraction.Interface { private repository; private accessControl; constructor(repository: GetModelRepository.Interface, accessControl: AccessControl.Interface); execute(modelId: string): Promise>; } export declare const GetModelUseCase: typeof GetModelUseCaseImpl & { __abstraction: import("@webiny/di").Abstraction; }; export {};