import { InjectionContainer } from "ts-injection"; import { BigsbyPluginRegistration, DeepPartial, AuthScheme, HandlerFunction, ApiHandlerConstructor, ApiConfig, BigsbyConfig, RequestContext } from "../types"; import { BigsbyInstance } from "./instance"; export declare class Bigsby { readonly _instance: BigsbyInstance; constructor(); constructor(name: string); constructor(config: DeepPartial); constructor(name: string, config: DeepPartial); getInjectionContainer(): InjectionContainer; getCurrentRequestContext(): RequestContext; getConfig(): BigsbyConfig; setConfig(config: DeepPartial): BigsbyConfig; patchConfig(config: DeepPartial): BigsbyConfig; registerPlugin(registration: BigsbyPluginRegistration): void; registerPlugin(registration: BigsbyPluginRegistration[]): void; registerAuthScheme(method: AuthScheme): void; registerAuthScheme(methods: AuthScheme[]): void; createApiHandler(handlerClass: ApiHandlerConstructor, scopedConfig?: DeepPartial): HandlerFunction; createApiHandler(handlerClasses: ApiHandlerConstructor[], scopedConfig?: DeepPartial): HandlerFunction; createApiHandler(versionedHandlerClassMap: { [VersionId: string]: ApiHandlerConstructor; }, scopedConfig?: DeepPartial): HandlerFunction; }