import { type ApplicationContext } from '../context/ApplicationContext'; import { Component } from '../main'; import { type EnvironmentConfiguration } from '../model/environment.configuration'; interface Deps { environment: EnvironmentConfiguration; applicationContext: ApplicationContext; } /** * Provide a basic implementation of the behavioural Command pattern. * * Both EnvironmentConfiguration and ApplicationContext are automatically made * available to concrete classes */ export declare abstract class Command extends Component { protected readonly environment: EnvironmentConfiguration; protected readonly applicationContext: ApplicationContext; constructor({ environment, applicationContext }: Deps); abstract execute(input: I | undefined): Promise; } export {};