import type { BasedServer } from '../server.js'; import { Optional } from 'utility-types'; import { BasedRoute, BasedFunctionConfig, BasedFunctionConfigs, BasedRoutes, BasedFunctionConfigComplete, BasedRouteComplete } from '@based/functions'; import { FunctionConfig } from './types.js'; export * from './types.js'; export declare class BasedFunctions { server: BasedServer; reqId: number; config: FunctionConfig; unregisterTimeout: NodeJS.Timeout; installsInProgress: { [name: string]: Promise; }; maxPayLoadSizeDefaults: { stream: number; query: number; function: number; channel: number; }; paths: { [path: string]: string; }; specs: { [name: string]: BasedFunctionConfigComplete; }; routes: { [name: string]: BasedRouteComplete; }; beingUninstalled: { [name: string]: boolean; }; constructor(server: BasedServer, config?: FunctionConfig); updateConfig(fullConfig: FunctionConfig): void; route(externalName?: string, externalPath?: string): BasedRouteComplete | null; install(name: string): Promise; add(specs: BasedFunctionConfigs): void; addRoutes(routes: BasedRoutes): void; completeSpec(spec: Optional, name?: string): null | BasedFunctionConfigComplete; generateRoute(route: Optional, name?: string): null | BasedRouteComplete; removeRoute(name: string): Promise; updateRoute(route: BasedRouteComplete, name?: string): null | (BasedRoute & { maxPayloadSize: number; rateLimitTokens: number; }); updateInternal(spec: BasedFunctionConfigComplete): boolean; uninstallLoop(): void; update(name: string, checksum: number): Promise; uninstall(name: string, spec?: BasedFunctionConfig | BasedFunctionConfigComplete | null): Promise; private installGaurdedFromConfig; getRoute(path: string): BasedRouteComplete | null; getFromStore(name: string): BasedFunctionConfigComplete | null; remove(name: string): boolean; }