export interface NamedCommandRoute {
    name: string;
    aliases?: readonly string[];
    handle(args: string[]): Promise<void> | void;
}
interface DispatchNamedCommandOptions {
    args: string[];
    routes: readonly NamedCommandRoute[];
    onUnknown(command: string): Promise<void> | void;
    onHelp?: () => Promise<void> | void;
    helpTokens?: readonly string[];
    allowEmptyHelp?: boolean;
}
export declare function resolveNamedCommand(token: string | undefined, routes: readonly NamedCommandRoute[]): NamedCommandRoute | undefined;
export declare function dispatchNamedCommand(options: DispatchNamedCommandOptions): Promise<boolean>;
export {};
//# sourceMappingURL=named-command-router.d.ts.map