import { Result } from "@webiny/feature/api"; import type { CmsGroup } from "../../../types/index.js"; import { GroupNotAuthorizedError, type GroupPersistenceError } from "../../../domain/contentModelGroup/errors.js"; /** * ListGroups Use Case */ export interface IListGroupsUseCase { execute(): Promise>; } export interface IListGroupsUseCaseErrors { notAuthorized: GroupNotAuthorizedError; repository: RepositoryError; } type UseCaseError = IListGroupsUseCaseErrors[keyof IListGroupsUseCaseErrors]; /** List all content model groups. */ export declare const ListGroupsUseCase: import("@webiny/di").Abstraction; export declare namespace ListGroupsUseCase { type Interface = IListGroupsUseCase; type Error = UseCaseError; type Return = Promise>; } /** * ListGroupsRepository - Fetches all groups from cache. */ export interface IListGroupsRepository { execute(): Promise>; } export interface IListGroupsRepositoryErrors { storage: GroupPersistenceError; } type RepositoryError = IListGroupsRepositoryErrors[keyof IListGroupsRepositoryErrors]; export declare const ListGroupsRepository: import("@webiny/di").Abstraction; export declare namespace ListGroupsRepository { type Interface = IListGroupsRepository; type Error = RepositoryError; } export {};