import { FabRequestResponder, PluginMetadata, FabFileMetadata, FabMetadata, FabRequestResponderWithParams } from '@fab/core'; import { FabCache, FABServerContext, ResponseInterceptor } from './types'; export declare enum Priority { LAST = 0, LATER = 1, MIDDLE = 2, EARLY = 3, FIRST = 4 } export declare type FabPluginRuntime = (Runtime: FABRuntime) => void; export declare class FABRouter { private pipeline; constructor(); getPipeline(): FabRequestResponder[]; addToPipeline(responder: FabRequestResponder, priority?: Priority): void; on(route: string, responder: FabRequestResponderWithParams, priority?: Priority): void; onAll(responder: FabRequestResponder, priority?: Priority): void; interceptResponse(interceptor: ResponseInterceptor, priority?: Priority): void; } export declare class FABRuntime { Metadata: T; FileMetadata: FabFileMetadata; Router: FABRouter; Cache: FabCache; ServerContext: FABServerContext; constructor(metadata: T, file_metadata: FabFileMetadata, context: FABServerContext); static initialize(metadata: FabMetadata, plugins: FabPluginRuntime[], context: FABServerContext): FABRuntime>; getPipeline(): FabRequestResponder[]; }