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, CommandMetadata } from '../decorators';
export type SignalType = 'break' | 'continue' | 'exit';
export interface SignalCommandInput {
    signalType: SignalType;
}
export interface SignalCommandOutput {
    signalType: SignalType;
    timestamp: number;
}
export declare abstract class ControlFlowSignalBase implements DecoratedCommand {
    readonly name: string;
    readonly metadata: CommandMetadata;
    protected abstract readonly signalType: SignalType;
    protected abstract readonly errorMessage: string;
    protected abstract readonly errorFlag: string;
    parseInput(_raw: {
        args: ASTNode[];
        modifiers: Record<string, ExpressionNode>;
    }, _evaluator: ExpressionEvaluator, _context: ExecutionContext): Promise<SignalCommandInput>;
    execute(_input: SignalCommandInput, _context: TypedExecutionContext): Promise<SignalCommandOutput>;
}
//# sourceMappingURL=signal-base.d.ts.map