import { GraphQLScalarType } from "graphql"; import { ValidatorOptions } from "class-validator"; import { PubSubEngine, PubSubOptions } from "graphql-subscriptions"; import { AuthChecker, AuthMode } from "../interfaces"; import { Middleware } from "../interfaces/Middleware"; export declare type DateScalarMode = "isoDate" | "timestamp"; export interface ScalarsTypeMap { type: Function; scalar: GraphQLScalarType; } export interface BuildContextOptions { dateScalarMode?: DateScalarMode; scalarsMap?: ScalarsTypeMap[]; validate?: boolean | ValidatorOptions; authChecker?: AuthChecker; authMode?: AuthMode; pubSub?: PubSubEngine | PubSubOptions; globalMiddlewares?: Array>; } export declare abstract class BuildContext { static dateScalarMode: DateScalarMode; static scalarsMaps: ScalarsTypeMap[]; static validate: boolean | ValidatorOptions; static authChecker?: AuthChecker; static authMode: AuthMode; static pubSub: PubSubEngine; static globalMiddlewares: Array>; static create(options: BuildContextOptions): void; static reset(): void; }