1 | import { FabRequestResponder, PluginMetadata, FabFileMetadata, FabMetadata, FabRequestResponderWithParams } from '@fab/core';
|
2 | import { FABServerContext, ResponseInterceptor } from './types';
|
3 | export declare enum Priority {
|
4 | LAST = 0,
|
5 | LATER = 1,
|
6 | MIDDLE = 2,
|
7 | EARLY = 3,
|
8 | FIRST = 4
|
9 | }
|
10 | export declare type FabPluginRuntime = (Runtime: FABRuntime) => void;
|
11 | export declare class FABRouter {
|
12 | private pipeline;
|
13 | constructor();
|
14 | getPipeline(): FabRequestResponder[];
|
15 | addToPipeline(responder: FabRequestResponder, priority?: Priority): void;
|
16 | on(route: string, responder: FabRequestResponderWithParams, priority?: Priority): void;
|
17 | onAll(responder: FabRequestResponder, priority?: Priority): void;
|
18 | interceptResponse(interceptor: ResponseInterceptor, priority?: Priority): void;
|
19 | }
|
20 | export declare class FABRuntime<T extends PluginMetadata = PluginMetadata> {
|
21 | Metadata: T;
|
22 | FileMetadata: FabFileMetadata;
|
23 | Router: FABRouter;
|
24 | ServerContext: FABServerContext;
|
25 | constructor(metadata: T, file_metadata: FabFileMetadata, context: FABServerContext);
|
26 | static initialize(metadata: FabMetadata, plugins: FabPluginRuntime[], context: FABServerContext): FABRuntime<PluginMetadata<{}>>;
|
27 | getPipeline(): FabRequestResponder[];
|
28 | }
|