export {};
|
|
// These interfaces are absent from lib.webworker, so the conditionals use `onabort` rather than `onmessage`
|
type _Storage = typeof globalThis extends { onabort: any } ? {} : Storage;
|
interface Storage {
|
readonly length: number;
|
clear(): void;
|
getItem(key: string): string | null;
|
key(index: number): string | null;
|
removeItem(key: string): void;
|
setItem(key: string, value: string): void;
|
[key: string]: any;
|
}
|
|
declare global {
|
interface Storage extends _Storage {}
|
var Storage: typeof globalThis extends { onabort: any; Storage: infer T } ? T : {
|
prototype: Storage;
|
new(): Storage;
|
};
|
|
var localStorage: Storage;
|
var sessionStorage: Storage;
|
}
|