// Type definitions for graphql-upload 8.0 // Project: https://github.com/jaydenseric/graphql-upload#readme // Definitions by: Mike Marcacci // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 4.1 /* tslint:disable:no-unnecessary-generics */ import { IncomingMessage, ServerResponse } from "http"; import { GraphQLScalarType } from "graphql"; import { RequestHandler } from "express"; import { DefaultContext, DefaultState, Middleware } from "koa"; import { ReadStream } from "fs-capacitor"; export interface UploadOptions { maxFieldSize?: number | undefined; maxFileSize?: number | undefined; maxFiles?: number | undefined; } export interface GraphQLOperation { query: string; operationName?: null | string | undefined; variables?: null | unknown | undefined; } export function processRequest( request: IncomingMessage, response: ServerResponse, uploadOptions?: UploadOptions ): Promise; export function graphqlUploadExpress( uploadOptions?: UploadOptions ): RequestHandler; export function graphqlUploadKoa ( uploadOptions?: UploadOptions ): Middleware; export const GraphQLUpload: GraphQLScalarType; export interface FileUpload { filename: string; mimetype: string; encoding: string; createReadStream(): ReadStream; } export class Upload { promise: Promise; file?: FileUpload; }