import { Location } from '@angular/common';
import { ConfigService, ContextService, ErrorService, MaskService, UrlManagerService } from '@nakedobjects/services';
import { Command } from './cicero-commands/command';
import { Result } from './cicero-commands/result';
import { CiceroContextService } from './cicero-context.service';
import { CiceroRendererService } from './cicero-renderer.service';
import * as i0 from "@angular/core";
export declare class ParseResult {
    commands?: Command[];
    error?: string;
    static create(commands: Command[]): ParseResult;
    static createError(msg: string): ParseResult;
}
export declare class CiceroCommandFactoryService {
    private readonly urlManager;
    private readonly location;
    private readonly context;
    private readonly mask;
    private readonly error;
    private readonly configService;
    private readonly ciceroContext;
    private readonly ciceroRenderer;
    constructor(urlManager: UrlManagerService, location: Location, context: ContextService, mask: MaskService, error: ErrorService, configService: ConfigService, ciceroContext: CiceroContextService, ciceroRenderer: CiceroRendererService);
    private commandsInitialised;
    private commandTypes;
    private allCommands;
    private commands;
    private mapInputToCommands;
    getCommands(input: string): ParseResult;
    getArgs(input: string): string;
    getSingleCommand: (input: string, chained: boolean) => Command;
    preParse: (input: string) => Result;
    getCommand: (commandWord: string) => Command;
    allCommandsForCurrentContext: () => string;
    static ɵfac: i0.ɵɵFactoryDeclaration<CiceroCommandFactoryService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CiceroCommandFactoryService>;
}
