import { HandleCommand } from "@atomist/automation-client/lib/HandleCommand";
import { HandleEvent } from "@atomist/automation-client/lib/HandleEvent";
import { NoParameters } from "@atomist/automation-client/lib/SmartParameters";
import { Maker } from "@atomist/automation-client/lib/util/constructionUtils";
import { CommandRegistrationManager } from "../../api/machine/CommandRegistrationManager";
import { CodeInspectionRegistration } from "../../api/registration/CodeInspectionRegistration";
import { CodeTransformRegistration } from "../../api/registration/CodeTransformRegistration";
import { CommandHandlerRegistration } from "../../api/registration/CommandHandlerRegistration";
import { EventHandlerRegistration } from "../../api/registration/EventHandlerRegistration";
import { EventRegistrationManager } from "../../api/registration/EventRegistrationManager";
import { GeneratorRegistration } from "../../api/registration/GeneratorRegistration";
import { IngesterRegistration } from "../../api/registration/IngesterRegistration";
import { IngesterRegistrationManager } from "../../api/registration/IngesterRegistrationManager";
import { MachineOrMachineOptions } from "./toMachineOptions";
/**
 * Concrete implementation of CommandRegistrationManager and
 * HandlerRegistrationManager
 */
export declare class HandlerRegistrationManagerSupport implements CommandRegistrationManager, EventRegistrationManager, IngesterRegistrationManager {
    private readonly sdm;
    constructor(sdm: MachineOrMachineOptions);
    commandHandlers: Array<Maker<HandleCommand>>;
    eventHandlers: Array<Maker<HandleEvent<any>>>;
    ingesters: string[];
    addCommand<P>(cmd: CommandHandlerRegistration<P>): this;
    addGeneratorCommand<P = NoParameters>(gen: GeneratorRegistration<P>): this;
    addCodeTransformCommand<P>(ed: CodeTransformRegistration<P>): this;
    addCodeInspectionCommand<R, P = NoParameters>(cir: CodeInspectionRegistration<R, P>): this;
    addEvent<T, P>(e: EventHandlerRegistration<T, P>): this;
    addIngester(i: IngesterRegistration): this;
}
//# sourceMappingURL=HandlerRegistrationManagerSupport.d.ts.map