4dc32c88aa2f314b48c6d2a2865112b88ea2ede6cc9166000fded5f4407c4557b05611105265cfe07106d0e243c90ebf2d910df3930ec4a9814255b47caeb4 724 B

123456789101112131415161718192021222324
  1. export {};
  2. // These interfaces are absent from lib.webworker, so the conditionals use `onabort` rather than `onmessage`
  3. type _Storage = typeof globalThis extends { onabort: any } ? {} : Storage;
  4. interface Storage {
  5. readonly length: number;
  6. clear(): void;
  7. getItem(key: string): string | null;
  8. key(index: number): string | null;
  9. removeItem(key: string): void;
  10. setItem(key: string, value: string): void;
  11. [key: string]: any;
  12. }
  13. declare global {
  14. interface Storage extends _Storage {}
  15. var Storage: typeof globalThis extends { onabort: any; Storage: infer T } ? T : {
  16. prototype: Storage;
  17. new(): Storage;
  18. };
  19. var localStorage: Storage;
  20. var sessionStorage: Storage;
  21. }