import { BaseObject } from "../core/BaseObject";
import { AnimationFadeOutMode, TweenType } from "../core/DragonBones";
/**
 * - The animation config is used to describe all the information needed to play an animation state.
 * The API is still in the experimental phase and may encounter bugs or stability or compatibility issues when used.
 * @see dragonBones.AnimationState
 * @beta
 * @version DragonBones 5.0
 * @language en_US
 */
export declare class AnimationConfig extends BaseObject {
    static toString(): string;
    /**
     * @private
     */
    pauseFadeOut: boolean;
    /**
     * - Fade out the pattern of other animation states when the animation state is fade in.
     * This property is typically used to specify the substitution of multiple animation states blend.
     * @default dragonBones.AnimationFadeOutMode.All
     * @version DragonBones 5.0
     * @language en_US
     */
    fadeOutMode: AnimationFadeOutMode;
    /**
     * @private
     */
    fadeOutTweenType: TweenType;
    /**
     * @private
     */
    fadeOutTime: number;
    /**
     * @private
     */
    pauseFadeIn: boolean;
    /**
     * @private
     */
    actionEnabled: boolean;
    /**
     * @private
     */
    additive: boolean;
    /**
     * - Whether the animation state has control over the display property of the slots.
     * Sometimes blend a animation state does not want it to control the display properties of the slots,
     * especially if other animation state are controlling the display properties of the slots.
     * @default true
     * @version DragonBones 5.0
     * @language en_US
     */
    displayControl: boolean;
    /**
     * - Whether to reset the objects without animation to the armature pose when the animation state is start to play.
     * This property should usually be set to false when blend multiple animation states.
     * @default true
     * @version DragonBones 5.1
     * @language en_US
     */
    resetToPose: boolean;
    /**
     * @private
     */
    fadeInTweenType: TweenType;
    /**
     * - The play times. [0: Loop play, [1~N]: Play N times]
     * @version DragonBones 3.0
     * @language en_US
     */
    playTimes: number;
    /**
     * - The blend layer.
     * High layer animation state will get the blend weight first.
     * When the blend weight is assigned more than 1, the remaining animation states will no longer get the weight assigned.
     * @readonly
     * @version DragonBones 5.0
     * @language en_US
     */
    layer: number;
    /**
     * - The start time of play. (In seconds)
     * @default 0.0
     * @version DragonBones 5.0
     * @language en_US
     */
    position: number;
    /**
     * - The duration of play.
     * [-1: Use the default value of the animation data, 0: Stop play, (0~N]: The duration] (In seconds)
     * @default -1.0
     * @version DragonBones 5.0
     * @language en_US
     */
    duration: number;
    /**
     * - The play speed.
     * The value is an overlay relationship with {@link dragonBones.Animation#timeScale}.
     * [(-N~0): Reverse play, 0: Stop play, (0~1): Slow play, 1: Normal play, (1~N): Fast play]
     * @default 1.0
     * @version DragonBones 3.0
     * @language en_US
     */
    timeScale: number;
    /**
     * - The blend weight.
     * @default 1.0
     * @version DragonBones 5.0
     * @language en_US
     */
    weight: number;
    /**
     * - The fade in time.
     * [-1: Use the default value of the animation data, [0~N]: The fade in time] (In seconds)
     * @default -1.0
     * @version DragonBones 5.0
     * @language en_US
     */
    fadeInTime: number;
    /**
     * - The auto fade out time when the animation state play completed.
     * [-1: Do not fade out automatically, [0~N]: The fade out time] (In seconds)
     * @default -1.0
     * @version DragonBones 5.0
     * @language en_US
     */
    autoFadeOutTime: number;
    /**
     * - The name of the animation state. (Can be different from the name of the animation data)
     * @version DragonBones 5.0
     * @language en_US
     */
    name: string;
    /**
     * - The animation data name.
     * @version DragonBones 5.0
     * @language en_US
     */
    animation: string;
    /**
     * - The blend group name of the animation state.
     * This property is typically used to specify the substitution of multiple animation states blend.
     * @readonly
     * @version DragonBones 5.0
     * @language en_US
     */
    group: string;
    /**
     * @private
     */
    readonly boneMask: Array<string>;
    protected _onClear(): void;
    /**
     * @private
     */
    clear(): void;
    /**
     * @private
     */
    copyFrom(value: AnimationConfig): void;
}
