import { ICliCommandChildProcessor, ICliCommandProcessor, ICliCommandProcessorRegistry } from '@qodalis/cli-core';
import * as i0 from "@angular/core";
export declare class CliCommandProcessorRegistry implements ICliCommandProcessorRegistry {
    readonly processors: ICliCommandProcessor[];
    constructor();
    registerProcessor(processor: ICliCommandProcessor): void;
    unregisterProcessor(processor: ICliCommandProcessor): void;
    findProcessor(mainCommand: string, chainCommands: string[]): ICliCommandProcessor | undefined;
    /**
     * Recursively searches for a processor matching the given command.
     * @param mainCommand The main command name.
     * @param chainCommands The remaining chain commands (if any).
     * @param processors The list of available processors.
     * @returns The matching processor or undefined if not found.
     */
    findProcessorInCollection(mainCommand: string, chainCommands: string[], processors: ICliCommandProcessor[]): ICliCommandProcessor | undefined;
    getRootProcessor(child: ICliCommandChildProcessor): ICliCommandProcessor;
    private getProcessorByName;
    static ɵfac: i0.ɵɵFactoryDeclaration<CliCommandProcessorRegistry, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CliCommandProcessorRegistry>;
}
