import { Result } from '../result/Result'; export interface IUseCase { execute(input: Input): Output; } export interface AsyncUseCase { execute(input: Input): Promise; } export interface ResultUseCase { execute(input: Input): Result; } export interface AsyncResultUseCase { execute(input: Input): Promise>; }