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[]; /** * Indicates if class-validator should be used to auto validate objects injected into params. * You can also directly pass validator options to enable validator with a given options. */ 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>; /** * Set static fields with current building context data */ static create(options: BuildContextOptions): void; /** * Restore default settings */ static reset(): void; } //# sourceMappingURL=build-context.d.ts.map