declare module "app/server/lib/ActionLog"; declare module "app/server/lib/sandboxUtil"; declare module "app/server/lib/User"; declare module "app/server/lib/shutdown" { export function addCleanupHandler(context: T, method: (this: T) => void, timeout?: number, name?: string): void; export function removeCleanupHandlers(context: T): void; export function cleanupOnSignals(...signalNames: string[]): void; export function exit(optExitCode?: number): Promise; } // There is a @types/bluebird, but it's not great, and breaks for some of our usages. declare module "bluebird"; // Redlock types refer to bluebird.Disposer. declare module "bluebird" { // eslint-disable-next-line @typescript-eslint/no-unused-vars class Disposer {} } // TODO This is a module by Grist Labs; we should add index.d.ts to it. declare module "@gristlabs/basket-api" { interface Item { [colId: string]: any; } interface ColValues { [colId: string]: any[]; } interface AuthToken { [authProvider: string]: string; } class Basket { public static addBasket(login: AuthToken): Promise; public static getBaskets(login: AuthToken): Promise; public basketId: Readonly; public apiKey: Readonly; constructor(basketId: string, apiKey?: string); public addTable(optTableId: string): Promise; public getTable(tableId: string): Promise; public renameTable(oldTableId: string, newTableId: string): Promise; public replaceTableData(tableId: string, columnValues: ColValues): Promise; public deleteTable(tableId: string): Promise; public getTables(): Promise; public uploadAttachment(attachmentId: string, attachment: Buffer): Promise; public delete(login: AuthToken): Promise; } namespace Basket {} export = Basket; } // Used in one place, and the typings are almost entirely unhelpful. declare module "multiparty"; // Used in one place, for one call. declare module "chokidar"; // Used in one place declare module "mime-types"; // Used in one place declare module "morgan"; declare module "cookie"; declare module "cookie-parser"; declare module "on-headers"; declare module "@gristlabs/express-session"; // Used for command line path tweaks. declare module "app-module-path" { export function addPath(path: string): void; } // version of pidusage that has correct ctime on linux declare module '@gristlabs/pidusage' { import * as pidusage from 'pidusage'; export = pidusage; } declare module "csv"; declare module 'winston/lib/winston/common' { export function serialize(meta: any): string; }