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 PickCommandInput {
    items?: unknown[];
    array?: unknown[];
}
export interface PickCommandOutput {
    selectedItem: unknown;
    selectedIndex: number;
    sourceLength: number;
    sourceType: 'items' | 'array';
}
export declare class PickCommand implements DecoratedCommand {
    readonly name: string;
    readonly metadata: CommandMetadata;
    parseInput(raw: {
        args: ASTNode[];
        modifiers: Record<string, ExpressionNode>;
    }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<PickCommandInput>;
    execute(input: PickCommandInput, context: TypedExecutionContext): Promise<PickCommandOutput>;
}
export declare const createPickCommand: () => PickCommand;
export default PickCommand;
//# sourceMappingURL=pick.d.ts.map