import { MaybeRefOrGetter } from 'vue';
import { AppSDKInternalInstance, Plugin, PluginID } from '../..';
export interface AnimationOptions {
    /**
     * 路由前进动画名称
     * @default 'forward'
     */
    forwardName?: MaybeRefOrGetter<string>;
    /**
     * 路由后退动画名称
     * @default 'backward'
     */
    backwardName?: MaybeRefOrGetter<string>;
}
/**
 * Animation Plugin ID
 */
declare const ANIMATION_ID: PluginID<Animation>;
export { ANIMATION_ID };
/**
 * 路由动画插件
 */
export declare class Animation implements Plugin {
    /**
     * 配置项
     */
    options: AnimationOptions;
    constructor(
    /**
     * 配置项
     */
    options?: AnimationOptions);
    id: PluginID<Animation>;
    /**
     * 是否在路由导航后自动延迟启用动画
     */
    private _isAutoEnabled;
    /**
     * 是否在路由导航后自动延迟启用动画
     * @readonly
     */
    get isAutoEnabled(): boolean;
    /**
     * 动画启用状态
     */
    private _isEnabled;
    /**
     * 动画启用状态
     * @readonly
     */
    get isEnabled(): boolean;
    /**
     * 路由导航时的动画名称，禁用动画时将返回 `undefined`
     */
    get name(): string | undefined;
    /**
     * 当前使用的动画名称
     */
    private _animationName;
    /**
     * 前进动画名称
     * @readonly
     */
    get forwardName(): string;
    /**
     * 后退动画名称
     * @readonly
     */
    get backwardName(): string;
    /**
     * 设置是否在路由导航后自动延迟启用动画状态
     * @param value 状态值
     */
    setAutoEnabled: (value: boolean) => void;
    /**
     * 设置动画启用状态
     * @param value 状态值
     */
    setEnabled: (value: boolean) => void;
    /**
     * 启用动画
     */
    enable: () => void;
    /**
     * 禁用动画
     *
     * ***注意：禁用时需设置 {@link https://cn.vuejs.org/api/built-in-components.html#transition Transition} 组件的 `css` 属性为 `false`，否则会影响切换效果！***
     */
    disable: () => void;
    install: (sdk: AppSDKInternalInstance) => () => void;
}
