/**
 * Merge animation properties
 *
 * @remarks
 * Animation properties can be set to either run at the same time, or one after the other.
 */
import { TypedAnimNode } from './_Base';
import { TimelineBuilder } from '../../../core/animation/TimelineBuilder';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
declare enum MergeMode {
    ALL_TOGETHER = "play all together",
    ONE_AT_A_TIME = "play one at a time"
}
export declare const EASING_ANIM_MERGE_MODES: MergeMode[];
declare class MergeAnimParamsConfig extends NodeParamsConfig {
    /** @param mode (at the same time or one after the other) */
    mode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param offset if run one after the other */
    offset: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param override the position */
    overridePositions: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param number of inputs that this node can merge animations from */
    inputsCount: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
}
export declare class MergeAnimNode extends TypedAnimNode<MergeAnimParamsConfig> {
    readonly paramsConfig: MergeAnimParamsConfig;
    static type(): string;
    initializeNode(): void;
    cook(inputContents: TimelineBuilder[]): void;
    private _updateTimelineBuilder;
    private _setPlayAllTogether;
    private _setPlayOneAtATime;
    private _callbackUpdateInputsCount;
    static PARAM_CALLBACK_setInputsCount(node: MergeAnimNode): void;
}
export {};
