import { STMessageParameter } from "./STMessage"; import { STObject } from "./STObject"; import { STObjectBase } from "./STObjectBase"; export declare type STBlockEvaluator = (implicitParameters: STMessageParameter[], explicitParameters: STMessageParameter[]) => STObject; /** * A block of Smalltalk code that can be * dynamically called. * * Similar to closures or lambdas in other * languages. */ export declare class STBlock extends STObjectBase { readonly implicitParameters: string[]; readonly explicitParameters: string[]; private evaluator; constructor(implicitParameters: string[], explicitParameters: string[], evaluator: STBlockEvaluator); evaluateWith(implicitParameters: STMessageParameter[], explicitParameters: STMessageParameter[]): STObject; evaluateWithArgs(...explicitParameterValues: STObject[]): STObject; evaluate(): STObject; getClassName(): string; }