import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
import type { ASTNode, ExpressionNode } from '../../types/base-types';
import type { ExpressionEvaluator } from '../../core/expression-evaluator';
import { type DecoratedCommand, type CommandMetadata } from '../decorators';
export interface AsyncCommandInput {
    commands: any[];
}
export interface AsyncCommandOutput {
    commandCount: number;
    results: any[];
    executed: boolean;
    duration: number;
}
export declare class AsyncCommand implements DecoratedCommand {
    readonly name: string;
    readonly metadata: CommandMetadata;
    parseInput(raw: {
        args: ASTNode[];
        modifiers: Record<string, ExpressionNode>;
    }, _evaluator: ExpressionEvaluator, _context: ExecutionContext): Promise<AsyncCommandInput>;
    execute(input: AsyncCommandInput, context: TypedExecutionContext): Promise<AsyncCommandOutput>;
    private executeCommandsAsync;
    private executeCommand;
    private getCommandName;
}
export declare const createAsyncCommand: () => AsyncCommand;
export default AsyncCommand;
//# sourceMappingURL=async.d.ts.map