/**
 * Navigation Adapter Interface
 *
 * 定义统一的导航接口，抽象平台差异
 */

export interface NavigateOptions {
  url: string;
  params?: Record<string, any>;
  replace?: boolean;
}

export interface INavigationAdapter {
  /**
   * 导航到指定页面
   */
  navigateTo(options: NavigateOptions): Promise<void>;

  /**
   * 返回上一页
   */
  navigateBack(delta?: number): void;

  /**
   * 重定向到指定页面
   */
  redirectTo(options: NavigateOptions): Promise<void>;

  /**
   * 获取当前路由信息
   */
  getCurrentRoute(): string;
}
