@types/node
Version:
TypeScript definitions for node
25 lines (21 loc) • 724 B
TypeScript
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;
}