import { SingletonMixin } from '../base/SingletonMixin';
import { UIPage } from '../UI/page/UIPage';
export declare class RouterManager extends SingletonMixin {
    private pageStack;
    static get Instance(): RouterManager;
    /**
     * 添加页面, 如果页面栈长度大于最大长度，则移除最前面的页面, TODO 待实现动画
     */
    push(param: RouterParam, animation?: any): void;
    /**
     * 替换页面, TODO 待实现动画
     */
    replace(param: RouterParam, animation?: any): void;
    /**
     * 返回上一个页面
     */
    back(): void;
    /**
     * 获取页面路由参数
     * @template T - 参数类型（必须为对象类型）
     * @returns 路由参数对象，当不存在时返回空对象
     */
    getRouterParam<T extends object>(): Partial<T>;
}
export interface RouterParam<T extends object = object> {
    uri: UIPage;
    params: T;
}
