import { IServiceContainer, Newable } from '@aesop-fables/containr'; import { IDataCommand, IRelayCommand } from './Types'; import { IMutation, Mutation } from '../hooks/useMutation'; import { DataStore } from '../DataStore'; import { ISubjectResolver } from '../ISubject'; /** * @deprecated Use the upcoming `ICommandDispatcher` instead */ export interface ICommandExecutor { execute(constructor: Newable>, params: Params): Promise; executeMutation(mutation: IMutation | Mutation, params: Params): Promise; relay(constructor: Newable>): Promise; } export declare class CommandExecutor implements ICommandExecutor { private readonly container; private readonly dataStore; private readonly resolver; constructor(container: IServiceContainer, dataStore: DataStore, resolver: ISubjectResolver); waitForPredicate(constructor: Newable>): Promise; execute(constructor: Newable>, params: Params): Promise; executeMutation(mutation: IMutation | Mutation, params: Params): Promise; relay(constructor: Newable>): Promise; }