/**
 * Copyright (c) Haiku 2016-2018. All rights reserved.
 */
export default class ValueBuilder {
    _component: any;
    _parsees: any;
    _changes: any;
    _summonees: any;
    _evaluations: any;
    helpers: any;
    _lastTimelineName: any;
    _lastTimelineTime: any;
    _lastFlexId: any;
    _lastPropertyName: any;
    constructor(component: any);
    clearCaches(options?: {}): this;
    clearCachedClusters(timelineName: any, componentId: any): this;
    evaluate(fn: any, timelineName: any, flexId: any, matchingElement: any, propertyName: any, keyframeMs: any, keyframeCluster: any, hostInstance: any): any;
    getPreviousSummonees(timelineName: any, flexId: any, propertyName: any, keyframeMs: any): any;
    cacheSummonees(timelineName: any, flexId: any, propertyName: any, keyframeMs: any, summonees: any): any;
    getPreviousEvaluation(timelineName: any, flexId: any, propertyName: any, keyframeMs: any): any;
    cacheEvaluation(timelineName: any, flexId: any, propertyName: any, keyframeMs: any, evaluation: any): any;
    summonSummonables(paramsArray: any, timelineName: any, flexId: any, matchingElement: any, propertyName: any, keyframeMs: any, keyframeCluster: any, hostInstance: any): any[];
    getSummonablesSchema(): {};
    fetchParsedValueCluster(timelineName: any, flexId: any, matchingElement: any, outputName: any, cluster: any, hostInstance: any, isPatchOperation: any, skipCache: any): any;
    getParser(outputName: any, virtualElement: any): any;
    getGenerator(outputName: any, virtualElement: any): any;
    generateFinalValueFromParsedValue(timelineName: any, flexId: any, matchingElement: any, outputName: any, computedValue: any): any;
    didChangeValue(timelineName: any, flexId: any, matchingElement: any, outputName: any, outputValue: any): boolean;
    /**
     * @method build
     * @description Given an 'out' object, accumulate values into that object based on the current timeline, time, and
     * instance state.
     * If we didn't make any changes, we return undefined here. The caller should account for this.
     */
    build(out: any, timelineName: any, timelineTime: any, flexId: any, matchingElement: any, propertiesGroup: any, isPatchOperation: any, haikuComponent: any, skipCache?: boolean): any;
    /**
     * @method grabValue
     * @description Given a timeline and some current state information, return a computed value for the given property
     * name.
     *
     * NOTE: The 'build' method above interprets a return value of 'undefined' to mean "no change" so bear that in mind...
     *
     * @param timelineName {String} Name of the timeline we're using
     * @param flexId {String} Identifier of the matching element
     * @param matchingElement {Object} The matching element
     * @param propertyName {String} Name of the property being grabbed, e.g. position.x
     * @param propertiesGroup {Object} The full timeline properties group, e.g. { position.x: ..., position.y: ... }
     * @param timelineTime {Number} The current time (in ms) that the given timeline is at
     * @param haikuComponent {Object} Instance of HaikuComponent
     * @param isPatchOperation {Boolean} Is this a patch?
     * @param skipCache {Boolean} Skip caching?
     * @param clearSortedKeyframesCache
     */
    grabValue(timelineName: any, flexId: any, matchingElement: any, propertyName: any, propertiesGroup: any, timelineTime: any, haikuComponent: any, isPatchOperation: any, skipCache: any, clearSortedKeyframesCache: any): any;
    static INJECTABLES: any;
    static FORBIDDEN_EXPRESSION_TOKENS: {
        new: boolean;
        this: boolean;
        with: boolean;
        delete: boolean;
        export: boolean;
        extends: boolean;
        super: boolean;
        class: boolean;
        abstract: boolean;
        interface: boolean;
        static: boolean;
        label: boolean;
        goto: boolean;
        private: boolean;
        import: boolean;
        public: boolean;
        do: boolean;
        native: boolean;
        package: boolean;
        transient: boolean;
        implements: boolean;
        protected: boolean;
        throws: boolean;
        synchronized: boolean;
        final: boolean;
        window: boolean;
        document: boolean;
        global: boolean;
        eval: boolean;
        uneval: boolean;
        Function: boolean;
        EvalError: boolean;
        require: boolean;
        module: boolean;
        exports: boolean;
        Module: boolean;
        arguments: boolean;
        callee: boolean;
        prototpye: boolean;
        __proto__: boolean;
        freeze: boolean;
        setPrototypeOf: boolean;
        constructor: boolean;
        defineProperties: boolean;
        defineProperty: boolean;
    };
}
