export {};

declare global {
  declare const Bridge: typeof import('./bridge').Bridge;

  interface Window {
    /* six-aio 设备注入 */
    bridge: InstanceType<typeof import('./bridge').Bridge>;
    /**
     * webview 设备注入的 全局对象（历史遗留）
     * @deprecated 使用 bridge
     */
    AIO: Partial<import('./bridge').globalAIO>;
  }

  /**
   * Promise 扩展
   */
  interface PromiseConstructor {
    withResolvers<T>(): {
      promise: Promise<T>;
      resolve: (value: T | PromiseLike<T>) => void;
      reject: (reason?: any) => void;
    };
  }

  interface PromiseWithResolvers<T> {
    promise: Promise<T>;
    resolve: (value: T | PromiseLike<T>) => void;
    reject: (reason?: any) => void;
  }

  interface Array<T> {
    at(index: number): T;
  }
}
