import { Aggregate, AggregateEncryptionFactory, AggregateProjection, Command, CommandResult, Event, SecretsManager, Monitoring } from 'resolve-core'; declare type EventstoreAdapter = { getNextCursor: Function; saveSnapshot: Function; getSecretsManager: () => Promise; loadSnapshot: (snapshotKey: string) => Promise; loadEvents: (param: { aggregateIds: string[]; cursor: null; limit: number; }) => Promise<{ events: any[]; }>; }; declare type AggregateMeta = { name: string; commands: Aggregate; projection: AggregateProjection; serializeState: Function; deserializeState: Function; encryption: AggregateEncryptionFactory | null; invariantHash?: string; }; export declare type CommandExecutor = { (command: Command): Promise; dispose: () => Promise; }; export declare type CommandExecutorBuilder = (context: { onCommandExecuted: (event: Event, command: Command) => Promise; aggregates: AggregateMeta[]; performanceTracer?: any; eventstoreAdapter: EventstoreAdapter; monitoring?: Monitoring; }) => CommandExecutor; declare const CommandError: Function; export { CommandError }; declare const createCommand: CommandExecutorBuilder; export default createCommand;