import { JobState } from '../../types/job';
import { TransitionRule } from '../../types/transition';
import { StreamCode } from '../../types';
declare class MapperService {
    private rules;
    private data;
    constructor(rules: Record<string, unknown>, data: JobState);
    mapRules(): Record<string, unknown>;
    private traverseRules;
    /**
     * resolves a pipe expression of the form: { @pipe: [["{data.foo.bar}", 2, false, "hello world"]] }
     * @param value
     * @returns
     */
    private pipe;
    /**
     * resolves a mapping expression in the form: "{data.foo.bar}" or 2 or false or "hello world"
     * @param value
     * @returns
     */
    private resolve;
    /**
     * Evaluates a transition rule against the current job state and incoming Stream message
     * to determine which (if any) transition should be taken.
     */
    static evaluate(transitionRule: TransitionRule | boolean, context: JobState, code: StreamCode): boolean;
}
export { MapperService };
