import { ClassContext, ClassAst } from "ims-decorator"; export declare const CommandMetadataKey = "CommandMetadataKey"; export interface CommandOptions { name: string | ReadonlyArray; description: string; example: { command: string; description: string; }; } export declare const Command: (metadataDef?: CommandOptions & { sourceRoot?: string; imports?: any[]; providers?: import("../../../ims-decorator/lib").Provider[]; }) => (target: any, propertyKey?: string | symbol, descriptor?: number | TypedPropertyDescriptor) => any; export interface Command { action(options: O): R; } export declare function isCommandClassAst(val: ClassAst): val is ClassAst; export declare class CommandClassAst extends ClassContext { }