import { InjectionContainer, Throwable } from "ts-injection"; import { ApiConfig, ApiHookNames, ApiLifecycle, Authenticator, AuthScheme, BigsbyConfig, BigsbyError, BigsbyPluginRegistration, DeepPartial, HandlerClassesInput, HandlerFunction, RequestContext, BigsbyLogger } from "../types"; export declare class BigsbyInstance { readonly name: string; private readonly plugins; readonly injectionContainer: InjectionContainer; private readonly authMethods; logger: BigsbyLogger; hasInitialized: boolean; hasLoadedPlugins: boolean; private globalConfig; constructor(name: string, config?: DeepPartial); getConfig(): BigsbyConfig; setConfig(config: DeepPartial): BigsbyConfig; patchConfig(config: DeepPartial): BigsbyConfig; registerPlugin(registrationOrRegistrations: BigsbyPluginRegistration | BigsbyPluginRegistration[]): void; registerApiHook(name: HookName, implementation: HookImplType): void; registerAuthMethod(authMethodOrMethods: AuthScheme | AuthScheme[]): void; getAuthMethod(methodName: string): Throwable; createApiHandler(classes: HandlerClassesInput, scopedConfig?: DeepPartial): HandlerFunction; invokeOnInitHook(apiConfig: ApiConfig): Promise; getCurrentRequestContext(): RequestContext; private createGlobalConfig; private createInjectionContext; private createLogger; private loadPlugins; private wrapInvokeMethod; }